300字范文,内容丰富有趣,生活中的好帮手!
300字范文 > linux sysctl机制 Linux系统控制文件 /etc/sysctl.conf

linux sysctl机制 Linux系统控制文件 /etc/sysctl.conf

时间:2021-10-27 18:49:06

相关推荐

linux sysctl机制 Linux系统控制文件 /etc/sysctl.conf

/etc/sysctl.conf这个目录主要是配置一些系统信息,而且它的内容全部是对应于/proc/sys/这个目录的子目录及文件。这样或许你不理解,先看看我的系统/etc/sysctl.conf这个文件里面有什么内容:cat /etc/sysctl.conf

fs.file-max = 3145728

fs.suid_dumpable = 1

kernel.core_uses_pid = 1

kernel.printk = 4 4 1 7

kernel.shmmax = 7516192768

kernel.shmall = 1835008

net.ipv4.ip_local_port_range = 8192 65535

net.ipv4.ip_nonlocal_bind = 1

filter.ip_conntrack_max = 1048576

net.ipv4.tcp_max_tw_buckets = 1048576

net.ipv4.tcp_syncookies = 1

net.ipv4.tcp_rmem = 4096 87380 4120576

net.ipv4.tcp_wmem = 4096 16384 4120576

#vm.nr_hugepages = 0

其实每个'.'分割的就代表一个目录,例如,fs.file-max也就代表/proc/sys/fs/file-max。那么/proc/sys/是用来做什么的呢?大家都知道/proc是每次系统启动的时候都要重新挂载的,它反映了系统内存里面的一些状态。通过/proc/可以很好的了解到当前系统的一些信息。而/proc/sys/则是这些信息的一小部分而已。你可以通过ls /proc/查看,里面还是不是有很多其他的数字命名的目录?那就是单个进程的信息了,那个数字就是进程ID。例如之前写过一篇关于two many open files解决办法的文章,那么查看某个进程打开多少FD,则可以通过ls /proc//fd | wc -l来统计。

常用的有哪些呢?刚入门,自己用到的选项也不多。

1. vm.nr_hugepages/vm.hugetlb_shm_group # 第一个表示设置系统有多少大页内存,第二个表示哪些用户组的进程可以使用大页内存

2. vm.swappiness # 如果设置为0表示禁用swap,否则值越大使用swap的可能性越高

3. vm.overcommit_memory/vm.overcommit_ratio # 这个设置是否可以超额分配内存,当然这是利用的virtual memory机制实现的。

前面那些参数都是在测试有什么方法防止mysqld使用swap,或者能否被避免Linux的OOM机制,详情请点击这里

还有在Linux上装Oracle会要设置kernel.shmmax这个参数吧(>_

前面说过/etc/sysctl.conf与目录/proc/sys/的关系,那么常见设置方法有三个:

1. echo value > /proc/sys/xx/yy

2. vi /etc/sysctl.conf #vi编辑,然后添加设置 ; sysctl -p #生效

3. sysctl -w kernel.domainname="" #利用-w生效

另外需要注意,/etc/sysctl.conf 与 sysctl命令只有root用户才有权限执行

关于/etc/sysctl.conf的介绍就差不多了,理解了这个文件的作用,更关键的是要知道里面每项的含义,以及怎么设置来调优系统。不懂的太多了,只能靠慢慢积累了~

另外几个系统缓存参数设置参见这里(感觉这篇文章写得不错~)

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。