【性能测试】ulimit命令说明与用法-详解

发布时间 2023-08-29 23:28:54作者: 橙子全栈测试笔记

目录

  • 1、ulimit命令与显示说明
  • 2. 常用操作-ulimit是临时修改 -程序要使用配置得重启
  • 3、永久修改的话修改配置文件

正文

1、ulimit命令与显示说明

ulimit 命令是 Linux 系统的内建功能,它具有一套参数集,用于控制 shell 进程及其所创进程的资源使用限制。它主要用于设置用户和系统的资源限制,如打开文件的最大数量、内存使用限制等。ulimit 命令的语法如下:

复制代码

-a:显示当前资源限制设置。
-c:设置 core 文件的最大值,单位为区块。
-d:设置程序数据节区的最大值,单位为 kb。
-f:设置文件描述符的最大数量。
-m:设置内存使用限制。
-n:设置打开文件的最大数量。
-p:设置进程优先级。
-s:设置进程的 CPU 时间片限制。
-t:设置进程的执行时间限制。
-u:设置用户进程的最大内存限制。
-v:显示版本信息。

复制代码
 

2. 常用操作-ulimit是临时修改 -程序要使用配置得重启

临时修改,系统重启后,自动还原。想持久化,看3,修改配置文件

查看系统用户所有限制值:

ulimit -a

设置用户open files(用户可以打开文件的最大数目)-性能测试时需要设置大些,默认为1024:

ulimit -n 16000

ps:执行该命令非root用户只能设置到4096。想要设置到8192需要sudo权限或者root用户。

设置用户最多可开启的程序数目-性能测试时需要设置大些

ulimit -u 65535

查看当前系统打开的文件数量:

lsof | wc -l

查看当前进程的打开文件数量:

lsof -p pid | wc -l      (lsof -p 1234 | wc -l  )

查看当前进程的最大可以打开的文件数:

cat /proc/PID/limits  # (如果通过ulimit -n 设置或者修改/etc/security/limits.conf,看看进程是否生效)  

查看系统总限制打开文件的最大数量:

cat /proc/sys/fs/file-max

lsof只能以root权限执行。在终端下输入lsof即可显示系统打开的文件,因为 lsof 需要访问核心内存和各种文件,所以必须以 root 用户的身份运行它才能够充分地发挥其功能。

3、永久修改的话修改配置文件

cat /etc/security/limits.conf