系统限制ulimit学习

ulimit命令

ulimit用于控制系统内执行资源的限制,如coredump文件大小、文件的最大值、能打开的最大文件数等。

执行ulimit -a可以看到当前的资源限制情况。

[root@localhost ~]# ulimit -a
core file size          (blocks, -c) 0           #core文件的最大值为0,即不生成core dump。
data seg size           (kbytes, -d) unlimited   #进程的数据段可以任意大。
scheduling priority             (-e) 0
file size               (blocks, -f) unlimited   #文件可以任意大。
pending signals                 (-i) 98304       #最多有98304个待处理的信号。
max locked memory       (kbytes, -l) 32          #一个任务锁住的物理内存的最大值为32KB。
max memory size         (kbytes, -m) unlimited   #一个任务的常驻物理内存的最大值。
open files                      (-n) 1024        #一个任务最多可以同时打开1024的文件。
pipe size            (512 bytes, -p) 8           #管道的最大空间为4096字节。
POSIX message queues     (bytes, -q) 819200      #POSIX的消息队列的最大值为819200字节。
real-time priority              (-r) 0
stack size              (kbytes, -s) 10240       #进程的栈的最大值为10240字节。
cpu time               (seconds, -t) unlimited   #进程使用的CPU时间。
max user processes              (-u) 98304       #当前用户同时打开的进程(包括线程)的最大个数为98304。
virtual memory          (kbytes, -v) unlimited   #没有限制进程的最大地址空间。
file locks                      (-x) unlimited   #所能锁住的文件的最大个数没有限制。

设置系统限制的方法

一、在initscript下设置(使用sysvinit)

sysvinit介绍

​ sysvinit是一种init系统,源于system V的Unix系统,负责linux系统的初始化,一直以来被大部分Linux系统所使用。

  1. /etc/inittab

sysvinit会读取/etc/inittab文件内的内容,获取以下几种信息:

  • 系统需要进入默认的 runlevel
  • 捕获组合键的定义
  • 定义电源 fail/restore 脚本
  • 启动 getty 和虚拟控制台
  1. /etc/initscript

    当系统存在initscript文件时,init会使用该文件来运行inittab内的命令。因此可以在该文件内设置ulimit,通常用来为全部进程设置ulimit及umask的值。

    以下是init使用initscript执行inittab内的命令。

    /bin/sh /etc/initscript <id> <level> <action> <process>
    

    以下是一个设置了ulimit的initscript例子:

    # Set umask to safe level, and enable core dumps.
    umask 022
    ulimit -c 2097151
    PATH=/bin:/sbin:/usr/bin:/usr/sbin
    export PATH
    
    # Increase the hard file descriptor limit for all processes
    # to 8192.  The soft limit is still 1024, but any unprivileged
    # process can increase its soft limit up to the hard limit
    # with "ulimit -Sn xxx" (needs a 2.2.13 or later Linux kernel).
    ulimit -Hn 8192
    
    # Execute the program.
    eval exec "$4"
    

二、在/etc/security/limits.conf设置

  1. 将需要限制的资源写进/etc/security/limits.conf,语法格式为:
<domain><type><item><value>
root hard core ulimited
  1. limits.conf是pam_limits.so的配置文件,必须在pam.d目录下的对应程序的配置文件内reqiure这个库文件才可以生效。
#在登录时限制
vi /etc/pam.d/login
# Sets up user limits according to /etc/security/limits.conf
# (Replaces the use of /etc/limits in old login)
session    required   pam_limits.so
  1. 要在用户登录进行限制,最后还需要在sshd的配置文件内配置使用PAM:
vi /etc/ssh/sshd_config
usePAM yes

三、在/etc/profile 或者用户bashrc下设置

针对不同的用户进行不同的限制,也可以将ulimit指令写入bashrc文件内。

# vi /root/.bashrc
ulimit -c unlimited

故障排查

当发现ulimit没有生效,可以从以上三个地方检查是否有配置错误。

initscript是sysvinit特有的文件,如果使用systemd或者upstart,通过initscript配置将会失效。

参考:man limits.conf(5) man initscript(5) man inittab(5) man pam.conf

©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 213,992评论 6 493
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 91,212评论 3 388
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 159,535评论 0 349
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 57,197评论 1 287
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 66,310评论 6 386
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 50,383评论 1 292
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 39,409评论 3 412
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 38,191评论 0 269
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 44,621评论 1 306
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 36,910评论 2 328
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 39,084评论 1 342
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 34,763评论 4 337
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 40,403评论 3 322
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 31,083评论 0 21
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,318评论 1 267
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 46,946评论 2 365
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 43,967评论 2 351

推荐阅读更多精彩内容