北肙

当你不能够再拥有,唯一可以做的,就是令自己不要忘记。

RAM Random Access Memory 随机访问存储 -- 对任意区域有着几乎一致的访问时间。与硬盘相类比,前者好比打电话,任意号码接通时间大致一样;后者好比走街串巷,拜访A街1号房和B街1号房,起始点在A还是B,对所耗时间有着非常大的影响。 这也就是为什么硬盘销售商一般标称的读/写速度在实际中很难达到,标称的顺序读/写速度,可以理解为在A街按顺序从1号房开始拜房,而日常大部分应用场景,很大概率从A街1号房完成拜访,下一个目的地是B街21号房,效率明显会大打折扣。 SRAM & DRAM SRAM - Static RAM 常用作CPU缓存 DRAM - Dynamic RAM 数据存储在1C1T Cell 比SRAM更廉价,也比SRAM速度略慢 用作大部分可更换存储(内存、主存、DIMM,随便怎么叫) ECC Error Correcting Code 增加了探测并更正随机错误的单元的DRAM 常用作服务器内存,需要其它部件支持(CPU、主板) SDRAM & DDR SDRAM - Synchronouse Dynamic RAM 为响应计算机其它各部件日益增长的运行速度,SDRAM被开发出来。在之前,内存是异步的,独立于CPU运行。 而SDRAM内存则与系统总线同步响应。 DDR内存出现后,与之对应,SDRAM也被称为SDR,Single Date Rate。 DDR - Double Date Rate 更快 更省电 相对来说,内存电压越低,功耗越低,发热量就越小,也更省电。 各种DDR内存电压: - 电压 DDR […]

什么是内存延迟^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 […]