limits和sysctl配置详解Word文档下载推荐.docx
- 文档编号:21191827
- 上传时间:2023-01-28
- 格式:DOCX
- 页数:38
- 大小:180.32KB
limits和sysctl配置详解Word文档下载推荐.docx
《limits和sysctl配置详解Word文档下载推荐.docx》由会员分享,可在线阅读,更多相关《limits和sysctl配置详解Word文档下载推荐.docx(38页珍藏版)》请在冰豆网上搜索。
●rss-最大持久设置大小
●stack-最大栈大小
●cpu-以分钟为单位的最多CPU时间
●noproc-进程的最大数目
●as-地址空间限制
●maxlogins-此用户允许登录的最大数目
通过ulimit-a可以查看限制数量
a)Centos5/6
centos5/6,只需要关注/etc/security/limits.conf和/etc/security/limits.d/下配置文件
●Centos5/6永久修改openfiles数量
1)在/etc/security/limits.conf下,添加以下两行
*softnofile65535
*hardnofile65535
2)重启效劳器
通过ulimit-a查看,如上面没有生效,添加如下步骤:
1)find/-namepam_limits.so
2)在/etc/pam.d/login下结尾处添加:
sessionrequired/usr/lib64/security/pam_limits.so
路径为第1步查找时给的结果反响
3)重启效劳器
注:
ulimit其实就是对单一程序的限制,进程级别的。
/proc/sys/fs/file-max,该参数指定系统围所有进程可以翻开的文件句柄的数量限制。
●Centos5/6永久修改file-max参数
vi/etc/sysctl.conf
fs.file-max=2000000
sysctl-p
cat/proc/sys/fs/file-max
●Centos5/6修改maxusermemory数量
1)在/etc/security/limits.d/90-nproc.conf下,修改以下行〔建议值65535〕
*softnproc1024
b)Centos7
centos7,/etc/security/limits.conf和/etc/security/limits.d/仅适用于通过PAM认证登录用户的资源限制〔PAM认证顺序:
Service(效劳)→PAM(配置文件)→pam_*.so。
PAM认证首先要确定那一项效劳,然后加载相应的PAM的配置文件(位于/etc/pam.d下),最后调用认证文件(位于/lib/security下)进展平安认证。
〕,但是对systemd的service资源限制不生效。
对于systemdservice的资源限制主要依靠
/etc/systemd/system.conf和/etc/systemd/user.conf,同时也会加载两个对应的目录中的所有.conf文件和。
system.conf是系统实例使用的,user.conf用户实例使用的。
一般的service,使用system.conf中的配置即可
针对单个Service也可以设置,比方nginx.service
LimitNOFILE=65535
LimitNPROC=65535
●Centos7永久修改openfiles数量
ulimit其实就是对单一进程的限制,进程级别的。
●Centos7永久修改file-max参数
●Centos7修改maxusermemory数量
vi/etc/systemd/system.conf
DefaultLimitNPROC=100000
重启效劳器
cat/proc/mysql的PID/limits
Centos7一次性修改core、max_processes、max_open_file三个参数方法
DefaultLimitCORE=infinity
DefaultLimitNOFILE=100000〔建议值65535〕
DefaultLimitNPROC=100000〔建议值65535〕
2.sysctl.conf〔核版本3.10〕
/proc/sys目录下存放着大多数核参数,并且可以在系统运行时进展更改,不过重新启动机器就会失效。
/etc/sysctl.conf是一个允许改变正在运行中的Linux系统接口,它包含一些TCP/IP堆栈和虚拟存系统的高级选项,修改核参数永久生效。
也就是说/proc/sys下核文件与配置文件sysctl.conf中变量存在着对应关系。
常见参数及设置:
c)fs
●fs.aio-max-nr
表示同时拥有的异步IO请求数量。
Oracle建议将该参数设置为1048576或更高。
默认值:
65536
fs.aio-nr
表示当前IO请求数量。
该参数为只读参数。
●
一个用户能够往epoll核事件表注册的事件总量,它是指该用户翻开的所有epoll实例总共能监听的事件数目,而不是单个epoll实例能监听的事件数目。
这个核参数限制了epoll使用的核存总量。
411648。
●fs.file-max
表示系统级文件描述符数限制最大值,是对整个系统的限制,并不是针对用户的。
当前测试环境默认为198266。
建议计算的公式:
grep-rMemTotal/proc/meminfo|awk'
{printf("
%d"
$2/10)}'
●fs.file-nr
文件与file-max相关,它有三个值:
已分配文件句柄的数目,已使用文件句柄的数目,文件句柄的最大数目,该文件是只读的,仅用于显示信息。
●fs.inode-state
此文件保存了三个值,前两个分别表示已分配inode数和空闲inode数。
第三个是已超出系统最大inode值的数量,此时系统需去除排查inode列表
●inotify-tools相关核参数
:
表示调用inotify_init时分配给inotifyinstance中可排队的event的数目的最大值,超出这个值的事件被丢弃,但会触发IN_Q_OVERFLOW事件。
表示每一个realuserID可创立的inotifyinstatnces的数量上限。
表示每个inotifyinstatnces可监控的最大目录数量。
如果监控的文件数目巨大,需要根据情况,适当增加此值的大小。
●租借锁相关核参数
fs.lease-break-time=45:
表示租借锁时间为45s
fs.leases-enable=1:
表示启用租借锁,默认状态启用。
●fs.nr_open
表示单个进程可分配的最大文件数,注意ulimit的nofilehardlimit不能超过该值,否那么会造成无法登录。
默认值为:
1048576。
●fs.protected_hardlinks
用于限制普通用户建立硬
0:
不限制用户建立硬
1:
限制,如果文件不属于用户,或者用户对此用户没有读写权限,那么不能建立硬
1。
●fs.protected_symlinks=1
用于限制普通用户建立软
不限制用户建立软
限制,允许用户建立软连接的情况是软连接所在目录是全局可读写目录或者软连接的uid与跟从者的uid匹配,又或者目录所有者与软连接所有者匹配
●fs.suid_dumpable
表示如果一个程序设定了setuid,那么普通用户在默认情况下不生成core文件,只有当该参数为1时,才会产生。
默认值为0。
d)kernel
●kernel.cad_pid
表示接收Ctrl+Alt+Del操作的INT信号的进程的PID
默认值为1。
●kernel.ctrl-alt-del
该值表示控制系统在接收到ctrl+alt+delete按键组合时如何反响:
不捕获ctrl-alt-del,将系统类似于直接关闭电源0:
捕获ctrl-alt-del,并将此信号传至cad_pid保存的PID号进程进展处理
●kernel.core_pattern
设置core文件保存位置或文件名,只有文件名时,那么保存在应用程序运行的目录下
默认值为core。
●kernel.core_pipe_limit
定义了可以有多少个并发的崩溃程序可以通过管道模式传递给指定的core信息收集程序。
如果超过了指定数,那么后续的程序将不会处理,只在核日志中做记录。
0是个特殊的值,当设置为0时,不限制并行捕捉崩溃的进程,但不会等待用户程序搜集完毕方才回收/proc/pid目录〔就是说,崩溃程序的相关信息可能随时被回收,搜集的信息可能不全〕。
●kernel.core_uses_pid
Core文件的文件名是否添加应用程序pid做为扩展:
0表示不添加,1表示添加。
●kernel.dmesg_restrict
限制哪些用户可以查看syslog日志,0表示不限制,1表示只有特权用户可以查看。
●kernel.kptr_restrict
是否启用kptr_restrice,此功能为平安性功能,用于屏蔽核指针。
该特性被完全制止;
那些使用“%pk〞打印出来的核指针被隐藏(会以一长串0替换掉),除非用户有CAP_SYSLOG权限,并且没有改变他们的UID/GID(防止在撤销权限之前翻开的文件泄露指针信息);
2:
所有核指使用“%pk〞打印的都被隐藏。
默认值为0,建议设置为1。
●kernel.modprobe
该文件给出了当系统支持module时完成modprobe功能的程序的名字〔包括路径〕。
/sbin/modprobe
●kernel.modules_disabled
表示是否制止核运行时可加载模块:
0表示不制止,1表示制止
●kernel.msgmax
消息队列中单个消息的最大字节数。
默认值为8192。
●kernel.msgmnb
单个消息队列中允许的最大字节长度(限制单个消息队列中所有消息包含的字节数之和)
默认值为16384。
●kernel.msgmni
系统中同时运行的消息队列的个数。
默认值为3965。
●kernel.numa_balancing
表示是否制止NUMA自动平衡策略,0表示制止,1表示不制止。
默认为0
补充:
numa相关知识
numactl需要安装相应软件包numactl.x86_64
●dmesg|grep-inuma,假设有返回值表示CPU支持NUMA
[0.000000]NUMA:
Node0[mem0x00000000-0x0009ffff]+[mem0x00100000-0x0fffffff]->
[mem0x00000000-0x0fffffff]
Node0[mem0x00000000-0x0fffffff]+[mem0x10000000-0x7fffffff]->
[mem0x00000000-0x7fffffff]
numasta查看具体numa信息
numa_hit是打算在该节点上分配存,最后从这个节点分配的次数;
num_miss是打算在该节点分配存,最后却从其他节点分配的次数;
num_foregin是打算在其他节点分配存,最后却从这个节点分配的次数;
interleave_hit是采用interleave策略最后从该节点分配的次数;
local_node该节点上的进程在该节点上分配的次数
other_node是其他节点进程在该节点上分配的次数
●numactl--hardare查看不同节点的存总大小,可用大小及nodedistance
建议:
数据库效劳器关闭该功能,centos7,vi/etc/grub2.cfg
找到rhgbquiet,在他们后面加上“numa=off〞,重启即可。
●kernel.panic
系统发生panic时核重新引导之前的等待时间,0表示制止重新引导,>
0表示引导前等待几秒。
●kernel.panic_on_oops
当系统发生oops或BUG时,所采取的措施,0表示继续运行,1表示让klog记录oops的输出,然后panic,假设kernel.panic不为0,那么等待后重新引导核。
●kernel.panic_on_warn
表示只警告,不发生panic,1表示发生panic。
●perf性能分析工具
kernel.perf_cpu_time_max_percent:
perf分析工具最大能够占用CPU性能的百分比,0表示不限制,1~100表示百分比。
默认值为25。
kernel.perf_event_max_sample_rate:
设置perf_event最大取样速率
10000。
kernel.perf_event_mlock_kb:
设置非特权用户允许常驻存的存大小。
默认值为516(KB)。
kernel.perf_event_paranoid:
用于限制访问性能计数器的权限。
0表示仅允许访问用户空间的性能计数器;
1表示核与用户空间的性能计数器都可以访问
2表示仅允许访问特殊的CPU数据
-1表示不限制
默认值为1
●kernel.pid_max
表示当前操作系统PID的最大值
131072。
64位操作系统最大值为4194303。
所分配的PTY的最大值〔PTY为虚拟终端,用于远程连接〕
默认为4096。
当前配置的PTY个数。
该参数为可变参数。
保存的PTY个数,主要分配给系统使用。
默认值为1024。
此文件是个只读文件,包含了一个随机字符串,在系统启动的时候会自动生成这个uuid。
此文件是个只读文件,给出了一个有效的熵(4096位)
熵池大小,一般是4096位,可以改成任何大小。
该文件保存熵的长度,该长度用于唤醒因读取/dev/random设备而待机的进程(random设备的读缓冲区长度)
此文件是个只读文件,包含了一个随机字符串,在random设备每次被读的时候生成。
该文件保存熵的长度,该长度用于唤醒因写入/dev/random设备而待机的进程(random设备的写缓冲区长度)
●kernel.randomize_va_space
用于设置进程虚拟地址空间的随机化。
0表示关闭进程虚拟地址空间随机化
1表示随机化进程虚拟地址空间中的mmap映射区的初始地址,栈空间的初始地址以及VDSO页的地址
2表示在1的根底上加上堆区的随机化
默认值为2。
●kernel.sched_child_runs_first
设置保证子进程初始化完成后在父进程之前先被调度。
0表示先调度父进程
1表示先调度子进程
●kernel.sched_latency_ns
表示正在运行进程的所能运行的时间的最大值,即使只有一个处于running状态的进程,运行到这个时间也要重新调度一次(以纳秒为单位,在运行时会自动变化)
同时这个值也是所有可运行进程都运行一次所需的时间,每个CPU的running进程数=sched_latency_ns/sched_min_granularity_ns
●kernel.sched_migration_cost_ns
该变量用来判断一个进程是否还是hot,如果进程的运行时间〔now-p->
se.exec_start〕小于它,那么核认为它的code还在cache里,所以该进程还是hot,那么在迁移的时候就不会考虑它。
500000。
●kernel.sched_min_granularity_ns
表示一个进程在CPU上运行的最小时间,在此时间,核是不会主动挑选其他进程进展调度(以纳秒为单位,在运行时会自动变化)
10000000。
●kernel.sched_nr_migrate
在多CPU情况下进展负载均衡时,一次最多移动多少个进程到另一个CPU上。
默认值为32。
●kernel.sched_rr_timeslice_ms
用来指示roundrobin调度进程的间隔,这个间隔默认是100ms。
默认值为100ms。
●kernel.sched_rt_period_us
●kernel.sched_rt_runtime_us
sched_rt_period与sched_rt_runtime_us一起决定了实时进程在以sched_rt_period为周期的时间,实时进程最多能够运行的总的时间不能超过sched_rt_runtime_us。
kernel.sched_rt_period_us=1000000
kernel.sched_rt_runtime_us=950000
●kernel.sched_tunable_scaling
当核试图调整sched_min_granularity_ns,sched_latency_ns和sched_wakeup_granularity_ns这三个值的时候所使用的更新方法。
不调整
按照cpu个数以2为底的对数值进展调整
按照cpu的个数进展线性比例的调整
●kernel.sched_wakeup_granularity_ns
该变量表示进程被唤醒后至少应该运行的时间的基数,它只是用来判断某个进程是否应该抢占当前进程,并不代表它能够执行的最小时间〔sysctl_sched_min_granularity〕,如果这个数值越小,那么发生抢占的概率也就越高。
15000000
●kernel.sem
该变量的四个值分别表示SEMMSL、SEMMNS、SEMOPM、SEMMNI
SEMMSL:
每个信号集的最大信号数量,数据库最大PROCESS实例参数的设置值再加上10,oracle建议将SEMMSL的值设置为不少于100。
SEMMNS:
用于控制整个Linux系统号〔而不是信号集〕的最大数。
Oracle建议将SEMMNS设置为:
系统中每个数据库的PROCESSES实例参数设置值的总和,加上最大PROCESSED值的两倍,最后根据系统中Oracle数据库的数量,每个加10。
使用以下计算方式来确定在Linux系统中可以分配的信号最大数量。
它将是以下两者中较小的一个值:
SEMMNS或SEMMSL*SEMMNI
SEMOPM:
核参数用于控制每个semop系统调用可以执行的信号操作的数量。
semop系统调用〔函数〕提供了利用一个semop系统调用完成多项信号操作的功能。
一个信号集能够拥有每个信号集中最大数量的SEMMSL信号,因此建议设置SEMOPM等于SEMMSL。
Oracle建议将SEMOPM的值设置为不少于100。
SEMMNI:
核参数用于控制整个Linux系统号集的最大数量。
Oracle建议将SEMMNI的值设置为不少于100。
默认参数:
kernel.sem=2503200032128
Oracle参考值:
kernel.sem=
●kernel.shm_rmid_forced
表示是否强制将共享存和一个进程联系在一起,这样的话可以通过杀死进程来释放共享存。
建议设置为1。
●kernel.shmall
系统上可以使用的共享存的总量〔以字节为单位〕
默认为399,可以根据存大小设置,如64*1024*1024*1024/4K=16777216
●kernel.shmmax
系统所允许的最大共享存段的大小〔以字节为单位〕
默认为399,可以根据存大小设置,如64*1024*1024*1024=
●kernel.shmni
整个系统共享存段的最大数量
4096
shmmax(bytes)=shmmni(pagesize,default4k)*shmall(page的个数〕
●kernel.s
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- limits sysctl 配置 详解