linux系统参数调优全解析( 三 )


● 内核在一次交换中所写页面的数目 。这对系统性能影响最大 。这个值越大 , 交换的数据越多 , 花在磁盘寻道上的时间越少 。然而 , 这个值太大会因"淹没"请求队列而反过来影响系统性能 。
缺省设置:512 32 8
/proc/sys/vm/pagecache
该文件与 /proc/sys/vm/buffermem 的工作内容一样 , 但它是针对文件的内存映射和一般高速缓存 。
使内核设置具有持久性
这里提供了一个方便的实用程序 , 用于更改 /proc/sys 目录下的任何内核参数 。它使您可以更改运行中的内核(类似于上面用到的 echo 和重定向方法) , 但它还有一个在系统引导时执行的配置文件 。这使您可以更改运行中的内核 , 并将这些更改添加到配置文件 , 以便于在系统重新引导之后 , 这些更改仍然生效 。
该实用程序称为 sysctl,在 sysctl(8) 的联机帮助页中 , 对这个实用程序进行了完整的文档说明 。sysctl 的配置文件是 /etc/sysctl.conf,可以编辑该文件 , 并在 sysctl.conf(8) 下记录了该文件 。sysctl 将 /proc/sys 下的文件视为可以更改的单个变量 。所以 , 以 /proc/sys 下的文件 /proc/sys/fs/file-max 为例 , 它表示系统中所允许的文件句柄的最大数目 , 这个文件被表示成 fs.file-max.
这个示例揭示了 sysctl 表示法中的一些奇妙事情 。由于 sysctl 只能更改 /proc/sys 目录下的变量 , 并且人们始终认为变量是在这个目录下 , 因此省略了变量名的那一部分(/proc/sys) 。另一个要说明的更改是 , 将目录分隔符(正斜杠 /)换成了英文中的句号(点 .) 。
将 /proc/sys 中的文件转换成 sysctl 中的变量有两个简单的规则:
● 去掉前面部分 /proc/sys.
● 将文件名中的正斜杠变为点 。
这两条规则使您能将 /proc/sys 中的任一文件名转换成 sysctl 中的任一变量名 。一般文件到变量的转换为:
/proc/sys/dir/file --> dir.file
dir1.dir2.file --> /proc/sys/dir1/dir2/file
可以使用命令 sysctl -a 查看所有可以更改的变量和其当前设置 。
用 sysctl 还可以更改变量 , 它所做的工作与上面所用的 echo 方法完全一样 。其表示法为:
sysctl -w dir.file="value"
还是用 file-max 作为示例 , 使用下面两种方法中的一种将该值更改为 16384.




推荐阅读