linux ulimit资源,[Linux]常用命令之ulimit(资源限制)

8a2fbc7d0d643676cb818ccc9a6eef54.png

1 ulimit 概述

1.1 概述

系统性能一直是一个受关注的话题,如何通过最简单的设置来实现最有效的性能调优,如何在有限资源的条件下保证程序的运作?

ulimit 是Linux在处理这些问题时,经常使用的一种简单手段。

ulimit 是一种 Linux 系统的内建功能,它具有一套参数集,用于为由它生成的 shell进程及其子进程的资源使用设置限制。

ulimit 用于限制 shell 进程/程序所占用的资源,支持以下资源类型的限制:

所创建的内核文件的大小

进程数据块的大小

Shell进程创建文件的大小

内存锁住的大小

常驻内存集的大小

打开文件描述符的数量

分配堆栈的最大大小

CPU 时间

单个用户的最大线程数

Shell 进程所能使用的最大虚拟内存

同时,它支持对【硬资源】和【软资源】的限制

作为临时限制,ulimit 可以作用于通过使用其命令登录的 shell 会话,在会话终止时便结束限制,并不影响于其他 shell 会话。

而对于长期的固定限制,ulimit 命令语句又可以被添加到由登录 shell 读取的文件中,作用于特定的 shell 用户。

1.2 语法

ulimit

[-a] # 显示/设置 目前设定的所有资源类型的资源限制; 显示当前的各种用户进程限制

[-c ] # 显示/设定 core文件的最大值,单位为区块

[-H] # 设定资源的硬性限制,也就是管理员所设下的限制

[-d ] # 显示/设定 程序数据段的最大值,单位为KB

Eg: ulimit -d unlimited

[-f ] # shell所能建立的最大文件,单位为区块

[-m ] # 指定可使用内存的上限,单位为KB

Eg: ulimit -m unlimited

[-n ] # 指定每个进程最多可打开的文件数,默认值: 1024

Eg: ulimit -n 4096 将每个进程可以打开的文件数目加大到4096,缺省为1024

[-p ] # 指定管道缓冲区的大小,单位512字节

[-s ] # 指定堆栈的上限,单位为KB

Eg: ulimit -s unlimited

[-S] # 设定资源的弹性限制

[-t ]

Eg: ulimit -t unlimited

[-u ]

[-v ]

Eg: ulimit -v unlimited

2 命令详解

ulimit -a # 查看系统用户所有限制项及其值

ulimit -n 4096 # 设置用户open files

用户可以打开文件的最大数目;

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

lsof | wc -l # 查看当前系统打开的文件数量

lsof -p | wc -l # 查看当前进程的打开文件数量

注: lsof只能以root权限执行; 安装lsof: yum install -y lsof

cat /proc//limits # 查看当前进程的可打开的最大资源数(Limit / Soft Limit / Hard Limit / Units)

cat /proc/sys/fs/file-max # 查看系统总限制打开文件的最大数量

X 参考/推荐文献

ulimit - linux.51yip.com

limit资源限制ulimit 详解 - CSDN

ulimit -n 修改 - 博客园

[Linux]常用命令之ulimit(资源限制)

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值