首页 > 其他 > 详细

系统性能调节命令ulimit

时间:2014-04-16 13:26:20      阅读:489      评论:0      收藏:0      [点我收藏+]

在一个开发环境中,资源的合理限制和分配,是保证系统可用性的必要条件,同时也与系统上软件运行的性能有着密不可分的联系。

Ulimit是一种linux系统的內键功能,它的一系列参数可用于为由它生成的shell进程及其子进程的资源使用设置限制。

Ulimit支持的限制的类型有以下方面:

所创建的内核文件的大小

进程数据块的大小

Shell进程创建文件的大小

内存锁住的大小

常驻内存集的大小

打开文件描述符的数量

CPU时间

单个用户的最大线程数

最大虚拟内存等。。

用法:ulimit [options] [limit]

一些参数含义以及例子:

-a显示当前所有的limit信息

-H设置硬资源限制,这个一旦设置不能增加

-s线程栈大小,以K字节为单位

Egulimit –Hs 64限制硬资源,线程栈的大小为64K

-S设置软资源限制,设置后可以增加,但是不能超过硬资源的设置

-n可以打开最大文件描述符的数量

Egulimit –Sn 32限制软资源,32个文件描述符

-c设置最大core文件的大小,以blocks为单位

Egulimit –c unlimited不限制core文件的大小

-m最大内存大小,以kbytes为单位

-u用户最大可用的进程数

-t指定最大的CPU占用时间

-p管道缓冲区的大小,以kbytes为单位

-d设置数据段的大小

-v设置虚拟内存的最大值

以上参数可根据具体情况组合使用

使用方法举例:(根据曾经遇到的一个句柄数限制的问题)

对于句柄数理解:

一个句柄就是你给一个文件,设备,套接字(socket)或管道的一个名字, 以便帮助你记住你正处理的名字, 并隐藏某些缓存等的复杂性。、

换句话说:句柄就是一个标识符,只要获得对象的句柄,我们就可以对对象进行任意的操作。

在操作系统层面上,文件操作也有类似于FILE的一个概念,在Linux里,这叫做文件描述符(File Descriptor),而在Windows里,叫做句柄(Handle)(以下在没有歧义的时候统称为句柄)。用户通过某个函数打开文件以获得句柄,此后用户操纵文件皆通过该句柄进行。

#ulimit –n 之后不加任何参数,可以查看系统的最大文件句柄数

# lsof -n|awk ‘{print $2}‘|sort|uniq-c|sort -nr|more通过该命令可以查看某进程打开了多少句柄数

819 4737
303 5021
303 5020
303 5019
303 5018
303 5017

…………

返回的第一列的值是打开的句柄数,第二列是对应进程ID

修改句柄数限制:

linux系统里有两种文件句柄限制,一种是系统级的,一种是用户级的。

修改系统级的:

#echo "30720" >/proc/sys/fs/file-max30720是自身设置的句柄数的数量)

修改用户级的:

#sudo vi /etc/security/limits.conf

增加如下行:

* soft nofile 2048

* hard nofile 32768

星号表示任何用户,soft/hard表示软限制、硬限制,数字是你要修改的软硬限制的数量。

本文出自 “每一步都是新的起点!^_^” 博客,请务必保留此出处http://90112526.blog.51cto.com/6013499/1395716

系统性能调节命令ulimit,布布扣,bubuko.com

系统性能调节命令ulimit

原文:http://90112526.blog.51cto.com/6013499/1395716

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!