linux的ulimit命令
ulimit命令用来限制系统用户对shell资源的访问。
语法:
ulimit [-acdfHlmnpsStv] [size]
选项介绍:
-a 显示当前所有的资源限制;
-c size: 设置core文件的最大值,单位:blocks;
-d size: 设置数据段的最大值,单位:kbytes;
-f size: 设置创建文件的最大值,单位:blocks;
-H: 设置硬件资源限制;
-l size: 设置在内存中锁定进程的最大值,单位:kbytes;
-m size: 设置可以使用的常驻内存的最大值,单位:kbytes;
-n size: 设置内核可以同时打开的文件描述符的最大值;
-p size: 设置管道缓冲区的最大值,单位:kbytes;
-s size: 设置堆栈的最大值,单位:kbytes;
-S: 设置软件资源限制;
-t size: 设置CPU使用时间的最大上限,单位:seconds;
-v size: 设置虚拟内存的最大值.单位:kbytes;
注意:size的值不一定要求是数字,可以是unlimited,表示没有限制。
表 1. ulimit 参数说明
| 选项 [options] | 含义 | 例子 |
|---|---|---|
| -H | 设置硬资源限制,一旦设置不能增加。 | ulimit – Hs 64;限制硬资源,线程栈大小为 64K。 |
| -S | 设置软资源限制,设置后可以增加,但是不能超过硬资源设置。 | ulimit – Sn 32;限制软资源,32 个文件描述符。 |
| -a | 显示当前所有的 limit 信息。 | ulimit – a;显示当前所有的 limit 信息。 |
| -c | 最大的 core 文件的大小, 以 blocks 为单位。 | ulimit – c unlimited; 对生成的 core 文件的大小不进行限制。 |
| -d | 进程最大的数据段的大小,以 Kbytes 为单位。 | ulimit -d unlimited;对进程的数据段大小不进行限制。 |
| -f | 进程可以创建文件的最大值,以 blocks 为单位。 | ulimit – f 2048;限制进程可以创建的最大文件大小为 2048 blocks。 |
| -l | 最大可加锁内存大小,以 Kbytes 为单位。 | ulimit – l 32;限制最大可加锁内存大小为 32 Kbytes。 |
| -m | 最大内存大小,以 Kbytes 为单位。 | ulimit – m unlimited;对最大内存不进行限制。 |
| -n | 可以打开最大文件描述符的数量。 | ulimit – n 128;限制最大可以使用 128 个文件描述符。 |
| -p | 管道缓冲区的大小,以 Kbytes 为单位。 | ulimit – p 512;限制管道缓冲区的大小为 512 Kbytes。 |
| -s | 线程栈大小,以 Kbytes 为单位。 | ulimit – s 512;限制线程栈的大小为 512 Kbytes。 |
| -t | 最大的 CPU 占用时间,以秒为单位。 | ulimit – t unlimited;对最大的 CPU 占用时间不进行限制。 |
| -u | 用户最大可用的进程数。 | ulimit – u 64;限制用户最多可以使用 64 个进程。 |
| -v | 进程最大可用的虚拟内存,以 Kbytes 为单位。 |
ulimit – v 200000;限制最大可用的虚拟内存为 200000 Kbytes。 |
执行范例:
当你执行一个程序,发现Can’t open so many files类似的错误,则是因为你的程序打开的文件数超过系统默认的最大文件数。解决方案:
$ ulimit -n 20000
$ ulimit -a
core file size (blocks, -c) unlimited
data seg size (kbytes, -d) unlimited
file size (blocks, -f) unlimited
pending signals (-i) 1024
max locked memory (kbytes, -l) 32
max memory size (kbytes, -m) unlimited
open files (-n) 20000
pipe size (512 bytes, -p) 8
POSIX message queues (bytes, -q) 819200
stack size (kbytes, -s) 10240
cpu time (seconds, -t) unlimited
max user processes (-u) 16381
virtual memory (kbytes, -v) unlimited
file locks (-x) unlimited
ulimit命令限制资源的使用,设置文件在:
/etc/security/limits.conf
比如:
xok_la hard cpu 1
xok_la hard fsize 50000
xok_la hard memlock 1000
xok_la hard nofile 50
xok_la hard nproc 50
这种方式限制是可以的,他是基于用户来限制的,可以限制内存,CPU占用时间,打开的文件数等等.前提是你要登陆到这个系统上.如果只是以这个用户来单独运行文件的话,就不行……
扩展阅读:
Linux下进程最大文件数为1024。
通常一个c,c++的可执行文件出错时,通过调core dump会快速定位到代码出错的位置。因此,你需要用ulimit -c xxx设置core文件最大值。默认为0。
linux的ulimit命令的更多相关文章
- [转]linux下ulimit命令详解
转自:http://blog.chinaunix.net/uid-23842323-id-2656582.html 1,说明:ulimit用于shell启动进程所占用的资源.2,类别:shell内建命 ...
- Linux性能测试 ulimit命令
功能说明:控制shell程序的资源. 语 法:ulimit [-aHS][-c <core文件上限>][-d <数据节区大小>][-f <文件大 小>][-m &l ...
- ulimit 命令
用途:ulimit用于shell启动进程所占用的资源. 类别:shell内建命令 语法格式:ulimit [-acdfHlmnpsStvw] [size] 参数: -H 设置硬资源限制. -S 设置软 ...
- LINUX ulimit命令
概述 系统性能一直是一个受关注的话题,如何通过最简单的设置来实现最有效的性能调优,如何在有限资源的条件下保证程序的运作,ulimit 是我们在处理这些问题时,经常使用的一种简单手段.ulimit 是一 ...
- Linux 调优方案, 修改最大连接数(ulimit命令)【转】
转自:http://blog.csdn.net/liangxiaozhang/article/details/8363435 Linux对于每个用户,系统限制其最大进程数.为提高性能,可以根据设备资源 ...
- linux修改文件打开最大数(ulimit命令)
解除 Linux 系统的最大进程数和最大文件打开数限制:vi /etc/security/limits.conf# 添加如下的行* soft noproc 65536 * hard noproc 65 ...
- Linux 调优方案--ulimit命令
可以用ulimit -a 来显示当前的各种用户进程限制.下面把某linux用户的最大进程数设为10000个: ulimit -u 10240 对于需要做许多 socket 连接并使它们 ...
- (转)linux下进程的进程最大数、最大线程数、进程打开的文件数和ulimit命令修改硬件资源限制
ulimit命令查看和更改系统限制 ulimit命令详解 ulimit用于shell启动进程所占用的资源,可以用来设置系统的限制 语法格式 ulimit [-acdfHlmnpsStvw] [size ...
- ulimit 命令详解 socket查看linux最大文件打开数
ulimit 命令详解 Linux对于每个用户,系统限制其最大进程数.为提高性能,可以根据设备资源情况,设置各linux 用户的最大进程数 可以用ulimit -a 来显示当前的各种用户进程限 ...
随机推荐
- Maven invalid task...
执行maven构建项目报错: Invalid task '‐DgroupId=*': you must specify a valid lifecycle phase, or a goal in th ...
- 杭电1002-A + B Problem II
#include<stdio.h>#include<string.h> int main(){ char str1[1001],str2[1001]; int t, ...
- android内存优化相关1
第一种策略,是释放显示相关的内存.这是我们针对系统APP采用的一种调优策略. 图形内容,俗称位图是非常占用内存的,针对位图,我们采用异步加载的方法,将位图内容信息和位图的状态信息分别进行存储,将内容信 ...
- 【算法题目】包含min函数的栈
题目来源:<剑指offer>面试题21 题目:定义栈的数据结构,请在该类型中实现一个能够得到栈的最小元素的min函数.在该栈中,调用min,push以及pop的时间复杂度都是O(1). 分 ...
- camera isp
1. 目标手机摄像头模组用ISP功能模块的市场走向及研发方向.为能够正确认识手机摄像模组行业提供技术及市场依据.2. ISP在模组上的应用原理2.1 功能区域无论数码相机.摄像机或者摄像手机,其影像数 ...
- C# 对Xml的常用操作
using System.Xml; //初始化一个xml实例 XmlDocument xml=new XmlDocument(); //导入指定xml文件 xml.Load(path); ...
- 腾讯微博模拟登陆+数据抓取(java实现)
不多说,贴出相关代码. 参数实体: package token.def; import java.io.Serializable; import java.util.Properties; publi ...
- mysql计划任务
这两天一直遇见mysql计划任务的案例,今天我就给大家分享一个真是的实例: 1.创建计划任务的语法: create event 任务名称 on schedule at 时间周期 starts '年- ...
- Python3基础 print 自带换行功能
镇场诗:---大梦谁觉,水月中建博客.百千磨难,才知世事无常.---今持佛语,技术无量愿学.愿尽所学,铸一良心博客.------------------------------------------ ...
- 【leetcode❤python】 38. Count and Say
#-*- coding: UTF-8 -*- class Solution(object): def countAndSay(self, n): """ ...