找回密码
 注册
搜索
热搜: 回贴
微赢网络技术论坛 门户 服务器 Linux/BSD 查看内容

利用 sysctl 调优内核性能

2009-12-20 13:52| 发布者: admin| 查看: 114| 评论: 0|原作者: 千年缘


有 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,内存空闲减少了,缓存多了,当然具体使用程度得看运行多少任务了。








最新评论

QQ|小黑屋|最新主题|手机版|微赢网络技术论坛 ( 苏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.

返回顶部