ulimit命令-->Linux内建命令,用来控制shell程序的资源,可通过该命令对系统性能进行调优
【命令作用】
假设有这样一种情况,当一台 Linux主机上同时登陆了10个人,在系统资源无限制的情况下,这10个用户同时打开了 500个文档,而假设每个文档的大小有10M,这时系统的内存资源就会受到巨大的挑战。
而实际应用的环境要比这种假设复杂的多,例如在一个嵌入式开发环境中,各方面的资源都是非常紧缺的,对于开启文件描述符的数量,分配堆栈的大小,CPU时间,虚拟内存大小,等等,都有非常严格的要求。资源的合理限制和分配,不仅仅是保证系统可用性的必要条件,也与系统上软件运行的性能有着密不可分的联 系。这时,ulimit可以起到很大的作用,它是一种简单并且有效的实现资源限制的方式。
ulimit用于限制shell启动进程所占用的资源,支持以下各种类型的限制:所创建的内核文件的大小、进程数据块的大小、Shell 进程创建文件的大小、内存锁住的大小、常驻内存集的大小、打开文件描述符的数量、分配堆栈的最大大小、CPU 时间、单个用户的最大线程数、Shell进程所能使用的最大虚拟内存。同时,它支持硬资源和软资源的限制。
作为临时限制,ulimit可以作用于通过使用其命令登录的shell会话,在会话终止时便结束限制,并不影响于其他 shell会话。而对于长期的固定限制,ulimit命令语句又可以被添加到由登录 shell 读取的文件中,作用于特定的 shell用户