有 2.5G 内存,可是一直有 1.9G 以上空闲,心疼。我觉得如果我充分利用的话,应该不会用到 swap 分区的。于是想要调整一个内核使用内存的策略。 可以通过 sysctl 实现。想法主要得益于在 这里 的文章。然后主要参考内核源码目录中 Documentation 下,sysctl vm laptops 目录下文档和 networking/ip-sysctl.txt 以及 man sysctl 。 -------------------------------------------------- # 使用swap的倾向,默认60,值越大越倾向于交换出去。 vm.swappiness = 0 # 赃内存占总内存比例为多少时,启动 pdflush 程序写磁盘 vm.dirty_background_ratio = 50 # 当 pdflush 启动时,这些“足够”赃的页写回硬盘,脏了10min了:) vm.dirty_expire_centisecs = 59999 # 一个程序的赃内存占自身所用比例多少时,开始回写 vm.dirty_ratio = 80 # 守护程序 pdflush 两次进行回写的时间间隔,单位是 1/100 秒 vm.dirty_writeback_centisecs = 59999 # vfs 更倾向于使用缓存, 远小于100, 默认为100,表示平衡 vm.vfs_cache_pressure = 0 -------------------------------------------------- 以下为设置在测试中…… vm.nr_hugepages = 50 vm.nr_overcommit_hugepages = 500 net.ipv4.icmp_echo_ignore_all = 1 net.ipv4.tcp_mem = 228480 304640 8388608 net.ipv4.tcp_rmem = 4096 87380 8388608 net.ipv4.tcp_wmem = 4096 16384 8388608 net.ipv6.conf.lo.disable_ipv6 = 0 net.ipv6.conf.all.disable_ipv6 = 1 net.ipv6.conf.default.disable_ipv6 = 1 其实,laptop-mode 做了类似的工作,而且还有更多设置,比如硬盘、电池相关的。殊途同归,尽量多用内存,少写硬盘,也是省电的一个方面。对于其对硬盘的设置,我用 hdparm -a 2048 -S 244 /dev/sda ,写到了 /etc/rc.local 里面。 一家之言,一切都还需要检验。如果您有我同样的想法,请认真参考上面提到的资料,而不是照搬这些设置,有风险哈;) 如果您发现我的错误,希望告诉我:) PS: 一个直观的效果是, swap 使用一直为0,内存空闲减少了,缓存多了,当然具体使用程度得看运行多少任务了。 |
|小黑屋|最新主题|手机版|微赢网络技术论坛 ( 苏ICP备08020429号 )
GMT+8, 2024-9-29 23:33 , Processed in 0.154661 second(s), 12 queries , Gzip On, MemCache On.
Powered by Discuz! X3.5
© 2001-2023 Discuz! Team.