什么是内存延迟^1 从CPU读写内存的指令发出到被执行这一过程的时长,以时钟周期为单位。 例如三星的某款4GB内存条上标签为:“4GB 2Rx4 PC3-10600R-09-10-E1-P0” 10600R中的R就代表内存延迟是:15-15-15 知识点 以DDR5 16GB 2Rx8内存为例[^2] [^2]: 数据摘自Youtube视频How Does Memory Works Rank x8表示单个DRAM芯片I/O位宽是8位 非ECC DDR5内存一个Rank是64位,64÷8=8个,所以1个Rank需要8个DRAM芯片 则总共内存条上有8x2=16个DRAM芯片 Bank & Bank Group 每个DDR5的DRAM芯片有8个Bank Group 每个Bank Group有4个Bank 每个Bank有65536行,也就是Row,也叫Wordline 每个Bank有8192列,也就是Column DRAM芯片的Bank是由1C1T Cell组成的存储平面,可以理解为Excel的单元格,一个Bank有8192列,65536行,每个单元格只存储0和1 Bank中读写操作的地址 31位,以110 11 0000110011100111 1100110010为例 前3位有效范围0-7,选择哪个Bank Group 4-5位有效范围0-3,选择 Bank Group中哪个Bank 接下来16位有效范围0-65535,表示一个Bank中哪一列,也就是哪个wordline Row Address Stobe - RAS 最后10位有效范围0-1023,表示一个wordline 8192个Cell中哪8个数据位 Column Address Stobe - CAS […]
1. Install Tools for Generating Initramfs emerge -avt genkernel # both genkernel and dracut are fine, # 'darcut' is more recommended. emerge -avt dracut For genkernel FILE /etc/default/grub Adding dolvm as a kernel boot parameter GRUB_CMDLINE_LINUX="dolvm" For dracut FILE /etc/default/grub Adding LVM support to the kernel boot parameters GRUB_CMDLINE_LINUX="rd.lvm.lv=vg00/lv_root" 2. Create LV and Migrate Data # […]
Config Kernel Modules cd /usr/src/linux make menuconfig Necessary Modules CONFIG_CGROUP_CPUACCT CONFIG_CGROUP_DEVICE CONFIG_CGROUP_FREEZER CONFIG_CGROUP_SCHED CONFIG_CPUSETS CONFIG_MEMCG CONFIG_CGROUP_NET_PRIO CONFIG_CGROUP_PIDS CONFIG_MEMCG_SWAP CONFIG_BLK_CGROUP CONFIG_BLK_DEV_THROTTLING CONFIG_CGROUP_PERF CONFIG_CGROUP_HUGETLB CONFIG_NET_CLS_CGROUP CONFIG_CFS_BANDWIDTH CONFIG_FAIR_GROUP_SCHED CONFIG_IPVLAN CONFIG_DUMMY Add Kernel Configuration General setup *-- C**ontrol Group support ---> [*] Memory controller [*] IO controller [*] CPU controller ---> --- CPU controller [*] Group […]
注意:误删文件后立即停止对当前卷的读写,可以保证最大程度的数据恢复。 拷备/usr/lpp/mmfs目录至/home, 手动删除文件,准备环境 恢复步骤 新挂载一块硬盘,防止恢复时写盘覆盖数据 大小视/home原规格而定,实测需要原容量的3倍 解挂载/home,并记录/home原挂载文件系统 df -h /home umount /home 将新盘格式化后挂载到/home mkfs.ext4 /dev/sdX mount /dev/sdX /home 切换工作目录到现在的/home,运行testdisk cd /home cp -av /path/to/testdisk.package ./ 解压testdisk tar -xjvf testdisk* 运行testdisk工具 ./testdisk/testdisk* 创建日志,默认Create, 直接回车。 选择/home之前挂载的分区,回车。 选择[None] 无分区表,回车。 工具检测到ext4格式的文件系统,不要回车,方向右键选底部[ List ], 再回车。 List后会出现误删以前/home下的目录或者文件,以<上><下>方向键操作 冒号: 单独选择某一个目录/文件 a(小写)选择全部 (选择之后再a会取消选择 --> 选择之后会变绿,如果终端配置了颜色) 选择了要恢复的文件/目录后,C(大写)进入下一屏,选择文件转储目录 上下方向键操作(右键进入目录,左键退出到上一级)。此示例中为防止销毁数据,将/home挂载的文件系统由原LV替换成了/dev/sdb, 可选择当前目录即现在的/home ‘.’,然后再按 C(大写)开始恢复进程。 开始跑进度表示正常,Copy done之后可退出工具验证。 完成后q […]
执行python文件的时候报如下错误: env: python3\r: No such file or directory 查看文件首行: #!/usr/bin/env python3 # -*- coding: utf-8 -*- 在命令行单独执行无任何报错 /usr/bin/env python3 Python 3.10.6 (main, Aug 11 2022, 13:49:25) [Clang 13.1.6 (clang-1316.0.21.2.5)] on darwin Type "help", "copyright", "credits" or "license" for more information. >>> exit() 遂祭出祖师爷谷歌大神,搜到原文如下: what could cause a script to fail to find python when it […]