[转帖]Linux命令之ulimit命令

linux,命令,ulimit · 浏览次数 : 0

小编点评

**命令简介** ulimit是一个用于 shell 启动进程所占用的资源限制命令。它可用于临时修改系统资源限制,或者可用于永久修改设置写入配置文件 /etc/security/limits.conf。 **使用示例** 1. **查看当前资源限制设置** ``` [root@test1 ~]# 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) 3766 max locked memory (kbytes, -l) 64 max memory size (kbytes, -m) unlimited open files (-n) 2048 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) 3766 virtual memory (kbytes, -v) unlimited file locks (-x) unlimited 2 ``` 2. **设置单一用户进程上限** ``` [root@test1 ~]# ulimit -u 500 [root@test1 ~]# ulimit -a |grep user max user processes (-u) 500 ``` 3. **设置句柄数上限** ``` [root@test1 ~]# ulimit -n 1024 [root@test1 ~]# ulimit -n 20480 [root@test1 ~]# ulimit -n 20480 4 ``` 4. **配置core文件大小为无限制** ``` [root@test1 ~]# ulimit -c 0 [root@test1 ~]# ulimit -c unlimited [root@test1 ~]# ulimit -c unlimited 5 ``` 5. **设置虚拟内存最大值** ``` [root@test1 ~]# ulimit -v 2048000 [root@test1 ~]# ulimit -a |grep virtual virtual memory (kbytes, -v) 2048000 ```

正文

一、命令简介

  ulimit是一个计算机命令,用于shell启动进程所占用的资源,可用于修改系统资源限制。使用ulimit命令用于临时修改资源限制,如果需要永久修改需要将设置写入配置文件/etc/security/limits.conf。

二、使用示例

1、查看当前资源限制设置

[root@test1 ~]# 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) 3766
max locked memory (kbytes, -l) 64
max memory size (kbytes, -m) unlimited
open files (-n) 2048
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) 3766
virtual memory (kbytes, -v) unlimited
file locks (-x) unlimited

2、设置单一用户进程上限

[root@test1 ~]# ulimit -u 500
[root@test1 ~]# ulimit -a |grep user
max user processes (-u) 500

3、设置句柄数上限

[root@test1 ~]# ulimit -n
1024
[root@test1 ~]# ulimit -n 20480
[root@test1 ~]# ulimit -n
20480

4、配置core文件大小为无限制

该参数设置常用于JVM奔溃时问题排查临时开启,用于转储JVM奔溃前的数据内容。

[root@test1 ~]# ulimit -c
0
[root@test1 ~]# ulimit -c unlimited
[root@test1 ~]# ulimit -c
unlimited

5、设置虚拟内存最大值

[root@test1 ~]# ulimit -v 2048000
[root@test1 ~]# ulimit -a |grep virtual
virtual memory (kbytes, -v) 2048000

三、使用语法及参数说明

1、使用语法

用法:ulimit [-SHacdefilmnpqrstuvx] [limit]

2、参数说明

参数参数说明
-H设置硬资源限制.
-S设置软资源限制.
-a显示当前所有的资源限制.
-c size设置core文件的最大值.单位:blocks,默认0
-d size设置数据段的最大值.单位:kbytes,默认unlimited
-e调度优先级,一般根据nice设置,默认0
-f size设置创建文件的最大值.单位:blocks,默认unlimited
-i待定信号值,默认3766
-l size设置在内存中锁定进程的最大值.单位:kbytes,默认64
-m size设置可以使用的常驻内存的最大值.单位:kbytes,默认unlimited
-n size设置内核可以同时打开的文件描述符的最大值,默认1024
-p size设置管道缓冲区的最大值.单位:kbytes,默认8
-q可以创建使用POSIX消息队列的最大值,单位为bytes,默认819200
-r限制程序实时优先级的范围,只针对普通用户,默认值0
-s size设置堆栈的最大值.单位:kbytes,默认8192
-t size设置CPU使用时间的最大上限.单位:seconds,默认unlimited
-u <程序数目>用户最多可开启的程序数目,默认3766
-v siz设置虚拟内存的最大值.单位:kbytes,默认unlimited
-x锁定文件大小限制,默认unlimited,默认unlimited

3、limits.conf 配置文件关键字说明

关键字说明
domain是指生效实体
user用户名
@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
文章知识点与官方知识档案匹配,可进一步学习相关知识
CS入门技能树Linux进阶新增用户26354 人正在系统学习中

与[转帖]Linux命令之ulimit命令相似的内容:

[转帖]Linux命令之ulimit命令

一、命令简介 ulimit是一个计算机命令,用于shell启动进程所占用的资源,可用于修改系统资源限制。使用ulimit命令用于临时修改资源限制,如果需要永久修改需要将设置写入配置文件/etc/security/limits.conf。 二、使用示例 1、查看当前资源限制设置 [root@test1

[转帖]Linux命令之strace命令

一、命令简介 strace是一个有用的诊断、指导和调试工具。系统管理员、诊断专家和故障解决人员将发现,对于解决源代码不易获得的程序的问题,这是非常宝贵的,因为它们不需要重新编译以跟踪它们。学生、黑客和过分好奇的人会发现,通过跟踪甚至是普通程序,可以了解到大量关于系统及其系统调用的信息。程序员会发现,

[转帖]Linux命令之getfacl和setfacl命令

一、命令简介 getfacl命令来自于英文词组”get file access control list“的缩写,其功能是用于显示文件或目录的ACL策略。对指定的文件或目录进行精准的权限控制,FACL是不二之选。对于每个文件,getfacl显示文件名、所有者、组和访问控制列表(ACL)。如果目录具有

[转帖]Linux命令之systemctl命令

一、systemctl命令简介 CentOS 5使用SysV init;CentOS 6使用Upstart,CentOS 7使用Systemd管理守护进程。centos7采用 systemd管理,服务独立的运行在内存中,服务响应速度快,但占用更多内存。独立服务的服务启动脚本都在目录 /usr/lib

[转帖]Linux命令之tr命令

一、命令介绍 tr 命令用于转换或删除文件中的字符。tr 指令从标准输入设备读取数据,执行转换(或者压缩、删除)处理,将结果输出到标准输出设备。 二、使用示例 0、示例文件 [root@test1 test]# cat 1.txt The string is used to describe the

[转帖]Linux网络命令之 `brctl`

文章目录 1 网桥的概念2 管理网桥的命令3 举例 1 网桥的概念 摘自百度百科: 网桥(Bridge)是早期的两端口二层网络设备,用来连接不同网段。 网桥是一种对帧进行转发的技术,根据 MAC 分区块,可隔离碰撞。网桥将网络的多个网段在数据链路层连接起来。 网桥也叫桥接器,是连接两个局域网的一种存

[转帖]linux之iftop命令

https://rumenz.com/rumenbiji/linux-iftop.html Linux安装iftop > yum install iftop -y > iftop 界面如下 界面参数说明 =>代表发送数据 <=代表接收数据 TX:发送流量 RX:接收流量 TOTAL:总流量 Cumm

[转帖]Linux工具之nethogs命令

一、nethogs命令简介 NetHogs是一个小型的net top工具,不像大多数工具那样拖慢每个协议或者是每个子网的速度而是按照进程进行带宽分组。NetHogs不需要依赖载入某个特殊的内核模块。如果发生了网络阻塞你可以启动NetHogs立即看到哪个PID造成的这种状况。这样就很容易找出哪个程序跑

[转帖]Linux之Shell 脚本执行三种方式

什么是Shell? Shell是用户与内核进行交互操作的一种接口,目前最流行的Shell称为bash ShellShell也是一门编程语言<解释型的编程语言>,即shell脚本一个系统可以存在多个shell,可以通过cat /etc/shells命令查看系统中安装的shell,不同的shell可能支

[转帖]Linux之fstab文件详解

https://blog.yelvlab.cn/archives/592/ fstab文件是干什么用的: /etc/fstab是用来存放文件系统的静态信息的文件。位于/etc/目录下,可以用命令less /etc/fstab 来查看,如果要修改的话,则用命令 vi /etc/fstab 来修改。当系