linux ulimit
2013年5月23日
没有评论
系统性能一直是一个受关注的话题,如何通过最简单的设置来实现最有效的性能调优,如何在有限资源的条件下保证程序的运作,ulimit 是我们在处理这些问题时,经常使用的一种简单手段。ulimit 是一种 linux 系统的内键功能,它具有一套参数集,用于为由它生成的 shell 进程及其子进程的资源使用设置限制。
ulimit 用于限制 shell 启动进程所占用的资源,支持以下各种类型的限制:所创建的内核文件的大小、进程数据块的大小、Shell 进程创建文件的大小、内存锁住的大小、常驻内存集的大小、打开文件描述符的数量、分配堆栈的最大大小、CPU 时间、单个用户的最大线程数、Shell 进程所能使用的最大虚拟内存。同时,它支持硬资源和软资源的限制。
ulimit 指令参数:
选项 [options] 含义 -H 设置硬资源限制,一旦设置不能增加。 -S 设置软资源限制,设置后可以增加,但是不能超过硬资源设置。 -a 显示当前所有的 limit 信息。 -c 最大的 core 文件的大小, 以 blocks 为单位。 -d 进程最大的数据段的大小,以 Kbytes 为单位。 -f 进程可以创建文件的最大值,以 blocks 为单位。 -l 最大可加锁内存大小,以 Kbytes 为单位。 -m 最大内存大小,以 Kbytes 为单位。 -n Linux操作系统对一个进程可以打开最大文件描述符的数量。 -p 管道缓冲区的大小,以 Kbytes 为单位。 -s 线程栈大小,以 Kbytes 为单位。 -t 最大的 CPU 占用时间,以秒为单位。 -u 用户最大可用的进程数。 -v 进程最大可用的虚拟内存,以 Kbytes 为单位。