当前位置: 首页 > Linux

ulimit

时间:2023-04-06 18:44:00 Linux

1。什么是限制?ulimit主要用来限制一个进程对资源的使用。它支持各种类型的限制。常用的有:kernelfilesizelimitationprocessdatablocksizelimitationshellprocesscreationfilesizelimitationlockablememorysizelimitationcommonLimitthesizeoftheresidentmemorysetLimitthenumberofopenfilehandlesLimitthemaximumsizeofallocationstackLimitCPU使用时间LimitthemaximumnumberofprocessesavailabletousersLimitthemaximumvirtualmemorylimitthatShellprocessescanuse2.Usageulimit的基本格式为:ulimit[options][limit]具体options参数含义见下表:选项含义-a显示当前系统的所有限制资源信息。-H设置硬资源限制,一旦设置就不能增加。-S设置软资源限制,设置后可以增加,但不能超过硬资源设置。-c最大核心文件的大小,以块为单位。-f进程可以创建的文件的最大大小,以块为单位。-d进程的最大数据段的大小,以千字节为单位。-m最大内存大小,以千字节为单位。-n查看进程可以打开的最大文件描述符数。-s线程堆栈大小,以千字节为单位。-p以千字节为单位的管道缓冲区大小。-u用户可用的最大进程数。-v进程可用的最大虚拟内存,以千字节为单位。-t以秒为单位的最大CPU使用时间。-l最大可锁定内存大小,以千字节为单位。例如:查看一个进程最多可以打开的文件描述符数3.修改一个用户进程可以打开的文件数限制数量设置为10000:ulimit-u10000(2)numberofopenfiles对于需要建立很多套接字连接并保持打开状态的Java应用程序,最好使用ulimit-nxx修改每个进程打开的文件数,默认值为1024。ulimit-n4096(3)其他推荐无限制(unlimited)的重要设置有:数据段长度:ulimit-dunlimited最大内存大小:ulimit-munlimitedStacksize:ulimit-sunlimitedCPU时间:ulimit-tunlimitedVirtualmemory:ulimit-vunlimited3.2永久设置(1)不限制linux系统最大进程数和最大打开文件数:vi/etc/security/limits.conf#添加如下行*softnoproc11000*hardnoproc11000*softnofile4100*hardnofile4100解释:*表示对所有用户,noproc表示最大进程数,nofile表示最大打开文件数(2)让SSH接受登录程序检查ssh上的ulimitclient-a资源限制:a。vi/etc/ssh/sshd_config将UserLogin的值改为yes,去掉#注释b.重启sshd服务:/etc/init.d/sshdrestart(3)修改所有linux用户环境变量文件:vi/etc/profileulimit-u10000ulimit-n4096ulimit-dunlimitedulimit-munlimitedulimit-sunlimitedulimit-t无限ulimit-v无限