系统中新安装了一个无硬件缓存的固态硬盘4TB,参考网络,作了如下优化。
因为浏览器用的机械硬盘分区,所以相关优化略掉。
noatime /etc/fstab
除了/boot/efi之外,其余所有的SSD目录,启用noatime选项
$ grep noatime /etc/fstab
UUID=220dc187-d94f-4d78-9632-496469093cab / ext4 noatime,errors=remount-ro 0 1
UUID=afcea59d-5594-479f-91ba-a10bea28de1d /home ext4 noatime 0 2
UUID=dcddcb9a-6ab4-4b38-bb2a-676684095f64 /work ext4 noatime 0 2
UUID=6a6612cb-c861-4f86-b02a-1c66b140779b /repo ext4 noatime 0 2
检查fstrim服务
Ubuntu 22.04已经默认打开了fstrim服务,每周一次,挺好,不用作什么。
# systemctl list-timers --all
NEXT LEFT LAST PASSED UNIT ACTIVATES
Sun 2023-12-10 09:34:51 CST 3min 7s left Sun 2023-12-10 08:46:59 CST 44min ago anacron.timer anacron.service
Sun 2023-12-10 09:36:56 CST 5min left n/a n/a systemd-tmpfiles-clean.timer systemd-tmpfiles-clean.service
Sun 2023-12-10 12:34:14 CST 3h 2min left Sat 2023-12-09 13:05:55 CST 20h ago motd-news.timer motd-news.service
Sun 2023-12-10 20:39:55 CST 11h left Sat 2023-12-09 22:37:45 CST 10h ago fwupd-refresh.timer fwupd-refresh.service
Sun 2023-12-10 23:47:31 CST 14h left Sun 2023-12-10 08:47:26 CST 44min ago apt-daily.timer apt-daily.service
Mon 2023-12-11 00:00:00 CST 14h left n/a n/a dpkg-db-backup.timer dpkg-db-backup.service
Mon 2023-12-11 00:00:00 CST 14h left Sun 2023-12-10 00:08:03 CST 9h ago logrotate.timer logrotate.service
Mon 2023-12-11 01:00:53 CST 15h left Mon 2023-12-04 08:55:58 CST 6 days ago fstrim.timer fstrim.service
Mon 2023-12-11 06:57:30 CST 21h left Sun 2023-12-10 08:47:50 CST 43min ago apt-daily-upgrade.timer apt-daily-upgrade.service
Mon 2023-12-11 09:27:01 CST 23h left Sun 2023-12-10 09:27:01 CST 4min 41s ago update-notifier-download.timer update-notifier-download.service
Mon 2023-12-11 10:00:36 CST 24h left Sun 2023-12-10 02:45:18 CST 6h ago man-db.timer man-db.service
Fri 2023-12-15 19:43:32 CST 5 days left Mon 2023-12-04 21:14:25 CST 5 days ago update-notifier-motd.timer update-notifier-motd.service
Sun 2023-12-17 03:10:19 CST 6 days left Sun 2023-12-10 03:10:06 CST 6h ago e2scrub_all.timer e2scrub_all.service
n/a n/a n/a n/a apport-autoreport.timer apport-autoreport.service
n/a n/a n/a n/a snapd.snap-repair.timer snapd.snap-repair.service
n/a n/a n/a n/a ua-timer.timer ua-timer.service
16 timers listed.
# systemctl status fstrim.timer
● fstrim.timer - Discard unused blocks once a week
Loaded: loaded (/lib/systemd/system/fstrim.timer; enabled; vendor preset: enabled)
Active: active (waiting) since Sun 2023-12-10 09:22:03 CST; 10min ago
Trigger: Mon 2023-12-11 01:00:53 CST; 15h left
Triggers: ● fstrim.service
Docs: man:fstrim
12月 10 09:22:03 carltao-GTR systemd[1]: Started Discard unused blocks once a week.
将/var/log加载在机械硬盘目录下,或者tmpfs
# ls -ld . /var/log
drwxrwxr-x 7 root syslog 4096 12月 10 09:23 .
drwxrwxr-x 7 root syslog 4096 12月 10 09:23 /var/log
# grep log /etc/fstab
/home/carltao/var_log /var/log none defaults,bind 0 0
确认HMB已经打开,试图增大HMB缓存
使用命令确认系统的nvme host memory buffer已经打开,设置为默认40MB。
多次尝试修改nvme ko参数,试图设置max_host_mem_size_mb,失败。估计需要重新编译内核,不折腾了。哪位朋友知道如何修改,请告知。
# nvme get-feature /dev/nvme0 -H -f 0x0d
get-feature:0x0d (Host Memory Buffer), Current value:0x00000001
Enable Host Memory (EHM): Enabled
Host Memory Descriptor List Entry Count (HMDLEC): 10
Host Memory Descriptor List Address (HMDLAU): 0x0
Host Memory Descriptor List Address (HMDLAL): 0xfedf7000
Host Memory Buffer Size (HSIZE): 10240
# dmesg | grep nvme
[ 1.063185] nvme nvme0: pci function 0000:04:00.0
[ 1.081163] nvme nvme0: allocated 40 MiB host memory buffer.
[ 1.120515] nvme nvme0: 16/0/0 default/read/poll queues
#无论我如何修改/etc/modprobe.d中conf文件,这个参数纹丝不动。。
root@carltao-GTR:/sys/module/nvme/parameters# cat max_host_mem_size_mb
128