POSIX表示可移植操作系统接口(Portable Operating System Interface of UNIX
,缩写为 POSIX ),POSIX标准定义了操作系统应该为应用程序提供的接口标准
前面描述的是通过修改内核参数来实现性能调优,除此之外还可以通过限制特定用户或程序的资源访问来达到目的,多用户的系统如果不限制资源本身就是不公平,如何达到
第一种方法:ulimit(个人推荐的方法,第二种麻烦比较麻烦)
普通用户可以设置自己的软限制S,但不能高于硬限制H
临时限制:
[root@localhost tuned]# ulimit -Hn +限制数
[root@localhost tuned]# ulimit -Sn +限制数
1.软限制起实际限制作用,但不能超过硬限制(除非有root权限)。
2.普通用户可以在硬限制范围内,更改自己的软限制
3.普通用户都可以缩小硬限制,但不能扩大硬限制。而root缩小扩大都可以。
4.修改或查看限制可以用 ulimit 命令
永久限制:
[root@localhost security]# vim /etc/security/limits.conf
#<domain> <type> <item> <value>
#* soft core 0
#* hard rss 10000
#@student hard nproc 20
#@faculty soft nproc 20
limits.conf配置文件里有参数的说明
ulimit参数
heap #堆动态数据
stack栈,函数变量常量
data初始化数据,限制的是进程内存data大小
fsize限制最大文件的大小(blocks)
core限制core文件大小(进程的镜像,默认值为0--不作镜像)
也可以自己定义:
[root@localhost limits.d]# vim /etc/security/limits.d/20-nproc.conf
第二种方法:sytemd限制
1.修改主配置文件]#cd /etc/systemd/system;vim http.d
2.修改drop-in文件–服务.d文件就是drop-in文件
]#cd /etc/systemd/system/服务.d
]#vim 服务.conf
example:
[root@localhost system]# pwd
/etc/systemd/system
[root@localhost system]# mkdir http.d
[root@localhost system]# cd http.d/
[root@localhost http.d]# vim http.conf
[root@localhost http.d]# cat http.conf
[http]
LimitNOFILE=32
限制参数怎么看:man systemd.exec
生效:
[root@localhost system]# systemctl daemon-reload
[root@localhost system]# systemctl restart http.service