Linux下ulimit具体使用方法

ulimit 是一个计算机命令,用于shell启动进程所占用的资源,可用于修改系统资源限制,本篇文章重点为大家分享一下Linux下ulimit具体使用方法,有需要的小伙伴可以参考一下。

查看ulimit

命令格式:

ulimit [-SHacdefilmnpqrstuvx]
参数S:表示软限制,当超过限制值会报警
参数H:表示硬限制,必定不能超过限制值
参数a:将列出所有资源限制,如:

干货:ulimit命令详解干货:ulimit命令详解

参数c:当某些程序发生错误时,系统可能会将该程序在内存中的信息写成文件(除错用),这种文件就被称为核心文件(core file)。此为限制每个核心文件的最大容量
参数d:每个进程数据段的最大值
参数f:当前shell可创建的最大文件容量
参数l:可以锁定的物理内存的最大值
参数m:可以使用的常驻内存的最大值
参数n:每个进程可以同时打开的最大文件句柄数
参数p:管道的最大值
参数s:堆栈的最大值
参数t:每个进程可以使用CPU的最大时间
参数u:每个用户运行的最大进程并发数
参数v:当前shell可使用的最大虚拟内存

修改ulimit

命令格式:

ulimit [-SHcdefilmnpqrstuvx] [limit]

在查看的命令后面加上限制值,就可以调整某一项限制,但只对当前登录shell有效。

参数S表示设置软限制;参数H表示设置硬限制;当都不指定时,表示设置软限制和硬限制均为指定值。

永久修改ulimit

所谓永久,是指每次登陆shell时,都会按配置重新设定ulimit,以达到永久生效的效果。

步骤一:

修改/etc/security/limits.conf

添加如下内容:

关于该文件的配置方式请参考后文

[root@CentOS646506 ~]# vim /etc/security/limits.conf
* hard nproc 64000
* soft nproc 64000
* hard nofile 64000
* soft nofile 64000

以上内容表示,将-u和-n的软限制和硬限制同时修改为64000。

步骤二:

修改/etc/pam.d/login

添加如下内容:

[root@CentOS646506 ~]# vim /etc/pam.d/login
session required pam_limits.so

以上内容表示,在登录时使用pam管理limit。

步骤三:

修改/etc/profile

添加如下内容

[root@CentOS646506 ~]# vim /etc/profile
ulimit -u 64000
ulimit -n 64000

每次登陆shell后,会初始执行这两条ulimit命令,并使其生效。

使配置生效

重新登录或使用source /etc/profile立即生效。

source使当前shell对指定文件内容生效。

/etc/security/limits.conf配置详解

格式:

domain 是指生效实体
用户名
也可以通过@group指定用户组
使用*表示默认值
type指限制类型
soft软限制
hard硬限制
item限制资源
core同ulimit -c
data同ulimit -d
fsize同ulimit -f
memloc同ulimit -l
nofile同ulimit -n
stack同ulimit -s
cpu 同ulimit -t
nproc同ulimit -u
maxlogins指定用户可以同时登陆的数量
maxsyslogins系统可以同时登陆的用户数
priority用户进程运行的优先级
locks用户可以锁定的文件最大值
sigpengding同ulimit -i
msgqueue同ulimit -q

原创文章,作者:晴川运维,如若转载,请注明出处:https://baike.qcidc.com/11384.html

(0)
晴川运维晴川运维
上一篇 2025年7月3日
下一篇 2025年7月3日

相关推荐

  • Linux下设置共享文件夹具体方法

    公司和学校机房的电脑都处在同一个局域网,如果两台电脑传输大文件,用U盘或移动硬盘可能不太方便,害怕中毒,这时候最好的方式是建立一个共享文件夹,另一台电脑即可在局域网中访问该共享文件…

    Linux系统 2025年6月8日
  • Mongodb复制集的安装和部署

    Mongodb复制集由一组Mongod实例(进程)组成,包含一个Primary节点和多个Secondary节点,Mongodb Driver(客户端)的所有数据都写入Primary…

    Linux系统 2025年6月22日
  • C++中double类型保留三位小数点

    我们知道C语言中,如果要求输出结果保留三位小数,我们可以使用pritf()函数轻松的解决。但是的输出运算符 我以一个例子作为讲解: 已知线段的两个端点坐标是A(xa,ya),B(x…

    Linux系统 2025年6月8日
  • Linux中安装 supervisor 具体步骤

    Supervisor是用Python开发的一套通用的进程管理程序,能将一个普通的命令行进程变为后台daemon,并监控进程状态,异常退出时能自动重启,下面为大家分享一下在Linux…

    Linux系统 2025年6月9日
  • 简单介绍一下kafka常用命令

    Kafka是一个分布式、分区的、多副本的、多订阅者,基于zookeeper协调的分布式日志系统(也可以当做MQ系统),常见可以用于web/nginx日志、访问日志,消息服务等等,本…

    Linux系统 2025年6月8日
  • 选择云计算数据库需要注意的几个方面

    关系数据库的应用已经有了半个世纪的历史,其各种子类别(如文档、键值数据库和缓存数据库)是IT领域中长期存在的部分。很多人可能会认为数据库创新的时代已经过去了。但是,云计算基础设施和…

    Linux系统 2025年6月25日
  • 详解RPM 包制作方法

    RPM(RedHat Package Manager)一种通过资料库管理的方式将所需要的软件安装到主机上的管理程序,Linux就是通过rpm来管理和实现软件的安装、查看、删除的。 …

    Linux系统 6天前
  • Linux下使用JMeter进行压力测试

    JMeter是Apache组织的开放源代码项目,它是功能和性能测试的工具,100%的用java实现,本篇文章重点为大家讲解一下Linux下运行JMeter具体方法。 准备工作 1.…

    Linux系统 2025年6月8日
  • C语言结构体使用注意事项

    结构体是类似于名片形式的数据集合体,可以把它理解为一种由用户自定义的特殊的复合型的“数据类型”,在这个复合型的“数据类型”中可以包含多种基本数据类型,我们可以把它作为一个整体来操作…

    Linux系统 5天前
  • Ubuntu 18.04 LTS部署Rsyslog日志服务

    Rsyslog 是一个 syslogd 的多线程增强版。它提供高性能、极好的安全功能和模块化设计。虽然它基于常规的 syslogd,但 rsyslog 已经演变成了一个强大的工具,…

    Linux系统 2025年6月8日

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注