POSIX限制之ulimit

本文详细介绍了POSIX标准,即可移植操作系统接口,及其在操作系统中为应用程序提供的接口标准。文章还深入探讨了通过ulimit命令和systemd配置进行资源限制的方法,包括软限制和硬限制的概念,以及如何在多用户系统中公平地分配资源。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

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

ulimit参数1说明见链接
ulimit参数2说明见链接

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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值