Linux修改资源限制详解

  • ulimit -a
  • 临时设置,和永久设置
    • 1.core file size
    • 2.data seg size
    • 3.scheduling priority
    • 4.file size
    • 5.pending signals
    • 6.max locked memory
    • 7.max memory size
    • 8.open files
    • 9.pipe size
    • 10.POSIX message queues
    • 11.real-time priority
    • 12.stack size
    • 13.cpu time
    • 14.max user processes
    • 15.virtual memory
    • 16.file locks
  • 确保生效
    • 1.添加
    • 2.检查

参考:https://cloud.tencent.com/developer/article/1661160

ulimit -a

[root@localhost ~]# ulimit -a
core file size          (blocks, -c) 0
data seg size           (kbytes, -d) unlimited
scheduling priority             (-e) 0
file size               (blocks, -f) unlimited
pending signals                 (-i) 63445
max locked memory       (kbytes, -l) 64
max memory size         (kbytes, -m) unlimited
open files                      (-n) 65535
pipe size            (512 bytes, -p) 8
POSIX message queues     (bytes, -q) 819200
real-time priority              (-r) 0
stack size              (kbytes, -s) 8192
cpu time               (seconds, -t) unlimited
max user processes              (-u) 63445
virtual memory          (kbytes, -v) unlimited
file locks                      (-x) unlimited

临时设置,和永久设置

1.临时设置
所有值都可以使用ulimit -c,-d,-e,… +数值,临时设置,
eg:设置core file size 为1024,
ulimit -c 1024
2.永久设置
对于ulimit的配置,配置文件在/etc/security/limits.conf以及limits.d下面的文件,
limits.d下面的配置会覆盖limits.conf中相同的配置
CentOS6中,limits.d下面通常默认是90-nproc.conf,
CentOS7中,通常是20-nproc.conf,nproc是限制每个用户创建进程数的

设置格式如下:

limits.conf的格式
<domain>        <type>  <item>  <value>
domain:用户或组名,*表示所有,user@group
type:soft,hard,hard表明系统中所能设定的最大值,soft的限制不能比hard限制高.
item:
详情见:/etc/security/limits.conf,注释
1.core file size

core文件是内存的映像文件,当程序崩溃时,会存储内存的相关信息。主要用于对程序进行调试。

1.查看core文件功能是否打开,0表示未打开,数值大小表示,生成的最大core文件大小,太小会得到一个不完整的core文件
[root@localhost ~]# ulimit -c
0
2.永久设置
echo " * soft core 4194304" >> /etc/security/limits.conf
echo " * hard core 4194304" >> /etc/security/limits.conf
2.data seg size

限制进程使用数据段的大小,一般来说这个限制会影响程序调用brk(系统调用),sbrk(库函数)调用malloc时,如果发现vm不够了,就会用brk去内核申请,一般设置成,unlimited

3.scheduling priority

限制进程优先级,就是进程的nice值,这个值只对普通用户起作用,对root用户不起作用
默认值0,优先级从高到底为,-20到20

4.file size

限制进程产生的文件大小,默认情况不限制,单位是blocks,一个blocks是1024字节

5.pending signals

限制信号,表示可以被挂起/阻塞的最大信号数量,linux下信号有64种,可以通过kill -l查看
编号为1-31的信号为传统unix支持的信号,是不可靠信号(非实时的),
编号为32-64的信号是后来扩充的,称作可靠信号(实时信号)
有兴趣的可以了解下linux信号机制

6.max locked memory

限制内存锁定,这个参数同样也是只对普通用户起作用,对root用户不起作用,linux对内存是分页管理的,内存中的数据,当不再需要时,会被从物理内存交换到swap或磁盘上,有需要时会被交换到物理内存,因为内存的换入/换出有一定的性能损耗,所以有时候会需要将数据锁定到物理内存,比如数据库等,或安全角度考虑的,比如用户名、密码等,被交换到swap或磁盘会有泄密的可能,所以一直锁定再内存中

锁定内存的动作由mlock()函数来完成,mlock原型如下:
int mloc(const void *addr, size_t len);

7.max memory size

限制进程使用的最大内存,驻留内存的限制在很多系统里也没有作用

8.open files

限制进程打开文件的最大数量,默认1024

#永久设置
echo -ne '''
root soft nofile 65535
root hard nofile 65535
*soft nofile 65535
*hard nofile 65535
''' >> /etc/security/limits.conf
9.pipe size

管道的缓存不能改变,只能是8*512(bytes),也就是4096个字节

10.POSIX message queues

可以创建使用POSIX消息队列的最大值
POSIX消息队列是linux ipc中很常用的一种通信方式,它通常用来在不同进程间发送特定格式的消息数据

11.real-time priority

限制程序实时优先级的范围,只针对普通用户

12.stack size

限制进程使用堆栈段的大小,会出现堆栈不够用的情况

13.cpu time

限制程序占用CPU的时间

14.max user processes

限制程序可以fork的进程数,只对普通用户有效,会影响并发
这个参数,默认情况下是根据系统的thread-max来定的

15.virtual memory

限制进程使用虚拟内存的大小

16.file locks

文件锁的限制只在2.4内核之前有用

确保生效

1.添加
vi /etc/pam.d/login
####末尾加入
session required /lib64/security/pam_limits.so
2.检查
ulimit -a

Linux修改资源限制详解相关推荐

  1. linux 修改用户dir,linux中dir命令详解

    在linux系统下dir命令的功能和ls命令差不多,主要是用以查看目录.文件权限等详细信息.下面由学习啦小编整理了linux中dir命令的详细解释,希望对你有帮助. linux中dir命令的详细解释 ...

  2. 【转】Linux命令工具 top详解

    Linux命令工具 top详解 top命令是Linux下常用的性能分析工具,能够实时显示系统中各个进程的资源占用状况,类似于Windows的任务管理器.top是一个动态显示过程,即可以通过用户按键来不 ...

  3. linux中top工具,Linux命令工具 top详解

    Linux命令工具 top详解 top命令是Linux下常用的性能分析工具,能够实时显示系统中各个进程的资源占用状况,类似于Windows的任务管理器.top是一个动态显示过程,即可以通过用户按键来不 ...

  4. Linux下top命令详解

    Linux下top命令详解 top命令是Linux下常用的性能分析工具,能够实时显示系统中各个进程的资源占用状况,类似于Windows的任务管理器.top是一个动态显示过程,即可以通过用户按键来不断刷 ...

  5. linux ps命令使用详解

    PS是LINUX下最常用的也是非常强大的进程查看命令 1. ps简介 前面介绍的两个命令都是用于查看当前系统用户的情况,下面就来看看进程的情况,这也是本章的主题. 要对进程进行监测和控制,首先必须要了 ...

  6. Linux命令工具 top详解

    Linux命令工具 top详解 top命令是Linux下常用的性能分析工具,能够实时显示系统中各个进程的资源占用状况,类似 于Windows的任务管理器.top是一个动态显示过程,即可以通过用户按键来 ...

  7. linux signal用法,Linux 信号 signal 用法详解及注意事项

    Linux 信号 signal 用法详解及注意事项 1) SIGHUP 本信号在用户终端连接 (正常或非正常) 结束时发出, 通常是在终端的控 制进程结束时, 通知同一 session 内的各个作业, ...

  8. Linux下使用aMsn详解(转)

    Linux下使用aMsn详解(转) amsn这一款在linux下的Msn就不多介绍了,0.95版出来后加入了摄像头,在加上其文件传输功能,你还留恋于gaim么? 经过多天的搜索和尝试,终于在Fedor ...

  9. linux看不到进程管理,关于Linux下进程的详解【进程查看与管理】

    关于Linux下进程的详解[进程查看与管理] 一.关于进程 进程: 已经启动的可执行程序的运行实力 进程的组成:一个进程包含内核中的一部分地址空间和一系列数据结构.其中地址空间是内核标记的一部分内存以 ...

最新文章

  1. js,jquery获取页面元素距离浏览器工作区顶端的距离
  2. 后端系统开发之白名单机制
  3. XidianOJ 1019 自然数的秘密
  4. 11单件模式(Singleton Pattern)
  5. P1110 [ZJOI2007]报表统计
  6. adprw指令通讯案例_实例 | 三菱FX3U485无协议通讯程序详解(含程序)
  7. linux网卡备份还原,CentOS6.x双网卡采用主-备份策略绑定(bond)
  8. 多第八田间学校:几何+图论出度+模拟+找到规律
  9. 图虫知识共享协议_缘之好物 篇二十:关怀父母的另类方案----新礼物:2019图虫影像历...
  10. 兄弟FAX-2890更换硒鼓加粉清零方法
  11. 自定义TextView属性和设置TextView属性
  12. Linux嵌入式开发 -- imx6ull 主频配置
  13. android 4 时间限制,Android触摸精灵
  14. Tomcat启动成功,但是访问项目时或者是localhost:8080时出现404
  15. qq空间网页设计_网页设计中的负空间
  16. JavaEE架构之传统三层架构,集群架构,分布式架构,微服务架构
  17. 秒懂 Git 与 Gitee(码云)
  18. 信息碎片化爆炸时代,我们究竟失去的是什么?
  19. Python晋级语法
  20. HTML表单验证(含用户名,密码,邮箱,手机号,验证码-验证)

热门文章

  1. 茴香豆的“茴”字有三种写法
  2. JVM异常,参数调试
  3. 模型与动画——智能巡逻兵
  4. 零基础DIY四轴飞行器超级详细保姆级教程(STM32F407ZGT6主控、WIFI图传、陀螺仪平衡、气压计/超声波定高、手机蓝牙控制等功能)
  5. 那一串雪泥鸿爪:诺基亚标志机型回…
  6. 垃圾自动分拣系统python代码_[HuskyLens]掌控垃圾分拣系统
  7. +1学姐玩跳棋 (SG函数)
  8. hbase调用ImportTsv导入csv文件时报错File does not exist
  9. [Android9.0][GSI][Qualcomm_SDM845]刷完Google GSI包后无法开机
  10. 背上儿子,带着工作,她敲开了千名贫困绣娘的幸福之门