注册 登录  
 加关注
   显示下一条  |  关闭
温馨提示!由于新浪微博认证机制调整,您的新浪微博帐号绑定已过期,请重新绑定!立即重新绑定新浪微博》  |  关闭

A small step

Judgement Must

 
 
 

日志

 
 
关于我

不要因为急着赶路,让自己的步伐杂乱。远方是既定的目标,但路上才是最重要的经历!

网易考拉推荐

/etc/sysctl.conf  

2015-07-23 14:49:50|  分类: Linux Kernel |  标签: |举报 |字号 订阅

  下载LOFTER 我的照片书  |
/etc/sysctl.conf这个目录主要是配置一些系统信息,而且它的内容全部是对应于/proc/sys/这个目录的子目录及文件。这样或许你不理解,先看看我的系统/etc/sysctl.conf这个文件里面有什么内容:cat /etc/sysctl.conf
[root@localhost ~]# cat /etc/sysctl.conf
# Kernel sysctl configuration file for Red Hat Linux
#
# For binary values, 0 is disabled, 1 is enabled.  See sysctl(8) and
# sysctl.conf(5) for more details.

# Controls IP packet forwarding
net.ipv4.ip_forward = 1

# Controls source route verification
net.ipv4.conf.default.rp_filter = 1

# Do not accept source routing
net.ipv4.conf.default.accept_source_route = 0

# Controls the System Request debugging functionality of the kernel
kernel.sysrq = 0

# Controls whether core dumps will append the PID to the core filename.
# Useful for debugging multi-threaded applications.
kernel.core_uses_pid = 1

# Controls the use of TCP syncookies
net.ipv4.tcp_syncookies = 1

# Disable netfilter on bridges.
net.bridge.bridge-nf-call-ip6tables = 0
net.bridge.bridge-nf-call-iptables = 0
net.bridge.bridge-nf-call-arptables = 0

# Controls the default maxmimum size of a mesage queue
kernel.msgmnb = 65536

# Controls the maximum size of a message, in bytes
kernel.msgmax = 65536

# Controls the maximum shared segment size, in bytes
kernel.shmmax = 68719476736

# Controls the maximum number of shared memory segments, in pages
kernel.shmall = 4294967296

##########################################################################################

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
net.ipv4.netfilter.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/<pid>/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这个参数吧(>_<,我还没在linux下安装过~) 这个也可以在/etc/sysctl.conf里面设置。

前面说过/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="example.com" #利用-w生效
另外需要注意,/etc/sysctl.conf 与 sysctl命令只有root用户才有权限执行

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

  评论这张
 
阅读(13)| 评论(0)
推荐 转载

历史上的今天

在LOFTER的更多文章

评论

<#--最新日志,群博日志--> <#--推荐日志--> <#--引用记录--> <#--博主推荐--> <#--随机阅读--> <#--首页推荐--> <#--历史上的今天--> <#--被推荐日志--> <#--上一篇,下一篇--> <#-- 热度 --> <#-- 网易新闻广告 --> <#--右边模块结构--> <#--评论模块结构--> <#--引用模块结构--> <#--博主发起的投票-->
 
 
 
 
 
 
 
 
 
 
 
 
 
 

页脚

网易公司版权所有 ©1997-2018