Linux设置内核参数的方法
作者:网络转载 发布时间:[ 2015/8/7 10:15:44 ] 推荐标签:操作系统
3、使用“ulimit -n 2048”来限制用户的大文件打开数为2048。ulimit -n对非root用户有限制,对root用户则没有限制,能享受到整个系统可以同时打开的文件数的好处。
设置句柄数量后,系统重启后,又会恢复默认值。如果想保存下来,可以修改.bash_profile文件,把上面命令加到后。
3.2 平台内核参数
平台在安装的过程中,会调用一个专门的shell来负责系统内核参数的设置。这个shell是checkkernel,在平台上/home/zxin10/bin目录下能找到。对于Linux,需要关注的是其中的check_linux_kernel函数。下面是涉及到设置内核参数的主要代码,除开设置了平台相关的一些内核参数,另外针对Oracle数据库也进行了相应的设置,大家可以一起分析一下。
##### 消息队列的设置
if ! grep -q "/proc/sys/kernel/shmmax" /etc/rc.d/rc.local
then
echo "echo $ShmMaxSizecfg > /proc/sys/kernel/shmmax" >> /etc/rc.d/rc.local
fi
if ! grep -q "/proc/sys/kernel/msgmni" /etc/rc.d/rc.local
then
echo "echo 300 > /proc/sys/kernel/msgmni" >> /etc/rc.d/rc.local
fi
if ! grep -q "/proc/sys/kernel/msgmnb" /etc/rc.d/rc.local
then
echo "echo 163840 > /proc/sys/kernel/msgmnb" >> /etc/rc.d/rc.local
fi
if ! grep -q "/proc/sys/kernel/msgmax" /etc/rc.d/rc.local
then
echo "echo 56383 > /proc/sys/kernel/msgmax" >> /etc/rc.d/rc.local
fi
########## 针对Oralce的一些内核参数的设置
## 2007.01.10 add for oracle10g
if [ "$db_version" = "oracle10g" ]
then
if ! grep -q "/proc/sys/net/core/rmem_max" /etc/rc.d/rc.local
then
echo "echo "250 32000 100 128" >/proc/sys/kernel/sem" >>/etc/rc.d/rc.local
echo "echo "1024 65000" >/proc/sys/net/ipv4/ip_local_port_range" >>/etc/rc.d/rc.local
echo "echo 1048576 >/proc/sys/net/core/rmem_max" >>/etc/rc.d/rc.local
echo "echo 1048576 >/proc/sys/net/core/rmem_default" >>/etc/rc.d/rc.local
echo "echo 262144 >/proc/sys/net/core/wmem_max" >>/etc/rc.d/rc.local
echo "echo 262144 >/proc/sys/net/core/wmem_default" >>/etc/rc.d/rc.local
fi
fi
下面是网上一篇redhat linux as 4.7 静默安装 oracle 10g的过程中涉及到内核参数设置的部分,跟上面平台设置的内容大致相同。
检查内核参数
正在检查 semmsl=250; 已发现 semmsl=250。 通过
正在检查 semmns=32000; 已发现 semmns=32000。 通过
正在检查 semopm=100; 已发现 semopm=100。 通过
正在检查 semmni=128; 已发现 semmni=128。 通过
正在检查 shmmax=536870912; 已发现 shmmax=2147483648。 通过
正在检查 shmmni=4096; 已发现 shmmni=4096。 通过
正在检查 shmall=2097152; 已发现 shmall=2097152。 通过
正在检查 file-max=65536; 已发现 file-max=65536。 通过
正在检查 VERSION=2.6.9; 已发现 VERSION=2.6.9-78.EL。 通过
正在检查 ip_local_port_range=1024 - 65000; 已发现 ip_local_port_range=1024 - 65000。 通过
正在检查 rmem_default=262144; 已发现 rmem_default=1048576。 通过
正在检查 rmem_max=262144; 已发现 rmem_max=1048576。 通过
正在检查 wmem_default=262144; 已发现 wmem_default=262144。 通过
正在检查 wmem_max=262144; 已发现 wmem_max=262144。 通过
检查完成。此次检查的总体结果为: 通过
下面对上面涉及到的内核参数进行说明。
shmmax:共享内存段的大字节数,建议设大点,甚至可以大过物理内存的字节数。该参数定义了共享内存段的大尺寸(以字节为单位)。缺省为32M,对于oracle来说,该缺省值太低了,通常将其设置为2G。
shmmin:共享内存段的小尺寸。这个参数的设置一般不会出问题。
shmmni:共享内存段的大数目。这个内核参数用于设置系统范围内共享内存段的大数量。该参数的默认值是4096 。通常不需要更改。
shmseg:每个进程可分配的大共享内存段数目
shmall:大的并发共享内存段数目,比SGA还要大。该参数表示系统一次可以使用的共享内存总量(以页为单位,一个页大小为4KB)。缺省值是2097152,通常不需要修改。
sem:是semaphores的缩写,该参数表示设置的信号量。它包含四个值:semmsl、semmns、semopm、semmni。
suse11lwb:~ # sysctl -a|grep sem
kernel.sem = 250 32000 100 128
semmns:信号灯的大数量,跟ORACLE的PROCESS数有关。SEMMSL * SEMMNI
semopm:系统调用允许的信号量大个数。至少100;或者等于SEMMSL
semmni:系统信号量set大个数。少128
semmsl:每个信号灯集合中多的信号灯数目。小250;对于processes参数设置较大的系统建议设置为processes+10。
msgmni:指定消息队列标识的大数目。缺省设置:16
msgmax:从一个进程发送到另一个进程的消息的大长度。进程间的消息传递是在内核的内存中进行,不会交换到磁盘上,所以如果增加该值,则将增加操作系统所使用的内存数量。缺省设置:8192
msgmnb:一个消息队列中大的字节数。缺省设置:16384
optmem_max:每个socket的大缓存大小
rmem_default:接收socket的缺省缓存大小(字节)
rmem_max:接收socket的大缓存大小(字节)
wmem_default:发送的socket缺省缓存大小(字节)
wmem_max:发送的socket大缓存大小(字节)
p_local_port_range:表示用于向外连接的端口范围。缺省情况下很小:32768到61000,改为10000到65000。(注意:这里不要将低值设的太低,否则可能会占用掉正常的端口!
file-max:表示文件句柄的大数量。文件句柄设置表示在linux系统中可以打开的文件数量。如果设置过小,Oracle将无法启动,或运行不正常。
本文内容不用于商业目的,如涉及知识产权问题,请权利人联系SPASVO小编(021-61079698-8054),我们将立即处理,马上删除。
相关推荐
Linux下开源的DDR压力测试工具曝Linux恶意软件:让树莓派设备挖掘数字货币linux系统中不同颜色的文件夹及根目录介绍软件测试工程师必知必会Linux命令Linux下DNS服务器配置如何成为不可替代的Linux运维工程师?详解Linux进程(作业)的查看和杀死Linux 日志定时轮询流程详解比特币勒索病毒不只Windows系统有,Linux版的来了Linux日志定时轮询流程详解Linux iommu和vfio概念空间解构Linux系统如何低于TCP洪水攻击Linux无损调整分区大小Linux下防火墙配置实例Linux使用Jexus托管Asp.Net Core应用程序Linux中引号的那些事
更新发布
功能测试和接口测试的区别
2023/3/23 14:23:39如何写好测试用例文档
2023/3/22 16:17:39常用的选择回归测试的方式有哪些?
2022/6/14 16:14:27测试流程中需要重点把关几个过程?
2021/10/18 15:37:44性能测试的七种方法
2021/9/17 15:19:29全链路压测优化思路
2021/9/14 15:42:25性能测试流程浅谈
2021/5/28 17:25:47常见的APP性能测试指标
2021/5/8 17:01:11热门文章
常见的移动App Bug??崩溃的测试用例设计如何用Jmeter做压力测试QC使用说明APP压力测试入门教程移动app测试中的主要问题jenkins+testng+ant+webdriver持续集成测试使用JMeter进行HTTP负载测试Selenium 2.0 WebDriver 使用指南