学习ulimit命令的用法。

功能说明:控制shell程序的资源。

语  法:ulimit [-aHS][-c

补充说明:ulimit为shell内建指令,可用来控制shell执行程序的资源。

参  数:

代码如下:

-a  显示目前资源限制的设定。

-c

-d  程序数据节区的最大值,单位为KB。

-f  shell所能建立的最大文件,单位为区块。

-H  设定资源的硬性限制,也就是管理员所设下的限制。

-m  指定可使用内存的上限,单位为KB。

-n  指定同一时间最多可开启的文件数。

-p  指定管道缓冲区的大小,单位512字节。

-s  指定堆叠的上限,单位为KB。

-S  设定资源的弹性限制。

-t

-u  用户最多可开启的程序数目。

-v  指定可使用的虚拟内存上限,单位为KB。

ulimit -a 用来显示当前的各种用户进程限制。

Linux对于每个用户,系统限制其最大进程数。为提高性能,可以根据设备资源情况,设置各linux 用户的最大进程数。

例如,把某linux用户的最大进程数设为10000个:

ulimit -u 10000

对于需要做许多 socket 连接并使它们处于打开状态的 Java 应用程序而言,

最好通过使用 ulimit -n xx 修改每个进程可打开的文件数,缺省值是 1024。

ulimit -n 4096 将每个进程可以打开的文件数目加大到4096,缺省为1024

其他建议设置成无限制(unlimited)的一些重要设置是:

复制代码

代码如下:

数据段长度:ulimit -d unlimited

最大内存大小:ulimit -m unlimited

堆栈大小:ulimit -s unlimited

CPU 时间:ulimit -t unlimited

虚拟内存:ulimit -v unlimited

有时服务器需要调整ulimit的stack size 参数调整为unlimited 无限,使用ulimit -s unlimited时只能在当时的shell见效,重开一个shell则失效。

解决方法:

在/etc/profile 的最后面添加ulimit -s unlimited。

然后:

# source /etc/profile

使修改即时生效。

可能的问题:

如果碰到类似的错误提示

ulimit: max user processes: cannot modify limit: 不允许的操作

ulimit: open files: cannot modify limit: 不允许的操作

以上操作对root用户是不会提示这样的限制信息的,只对普通用户有影响,原因何在?

大家可以去研究下文件:/etc/security/limits.conf。

说明:

linux对用户有默认的ulimit限制,而这个文件可以配置用户的硬配置和软配置,硬配置是个上限。

超出上限的修改就会出“不允许的操作”这样的错误。

可以在limits.conf文件最后添加相关内容,如下图:

即限制任意用户的最大线程数和文件数为10240。

linux 线程 ulimit,linux ulimit命令用法解析相关推荐

  1. 【Linux】Linux中rz和sz命令用法详解

    [Linux]Linux中rz和sz命令用法详解 1. 简单介绍 rz,sz是Linux/Unix同Windows进行ZModem文件传输的命令行工具.优点就是不用再开一个sftp工具登录上去上传下载 ...

  2. Linux中rename和mv命令用法学习修改文件名区别和总结

    如何用命令修改文件名呢?在Linux下可以用rename命令,当然还可以使用mv命令,这里分享下Linux rename命令的用法. 有一部分人说Linux下没有rename命令,建议大家用mv命令. ...

  3. xshell linux托文件夹,Xshell拖拽文件到linux(rz和sz命令用法详解)

    在linux中rz 和 sz 命令允许开发板与主机通过串口进行传递文件了,下面我们就来简单的介绍一下rz 和 sz 命令的例子. rz,sz是Linux/Unix同Windows进行ZModem文件传 ...

  4. 查看linux线程个数,linux查看cpu个数,线程数及cpu型号

    1.查看CPU逻辑id grep 'physical id' /proc/cpuinfo | sort -u physical id : 0 physical id: 1 2.查看物理CPU个数 $ ...

  5. linux线程篇,linux线程篇 (二) 线程的基本操作

    线程 进程 标识符 pthread_t pid_t 获取ID pthread_self() getpid() 创建 pthread_create() fork 销毁 pthread_exit() ex ...

  6. linux 线程流水线,linux线程同步

    我是linux和linux线程的新手.我花了一些时间谷歌搜索试图理解可用于线程同步的所有函数之间的差异.我还有一些问题. 我找到了所有这些不同类型的同步,每个同步都有许多锁定,解锁,测试锁等功能. g ...

  7. 页描述符 linux,有关Crontab导致Linux文件描述符...-探讨:crond 引发大量sendmail进...-linux下的ulimit命令用法解析(图文)_169IT.COM...

    一,遇到的问题 系统中的定时任务,过一段时间之后,不能运行. 通过系统命令查看到系统有大量sendmail进程,导致文件描述符耗尽.以下主要通过分析整个处理过程,供大家参考. 二,处理过程 分析步骤如 ...

  8. Linux学习——echo和read命令用法

    转载自http://www.runoob.com/linux/linux-comm-read.html http://www.178linux.com/76331 echo命令 本文列举了echo命令 ...

  9. linux系统中ps和top,linux中PS和TOP命令用法详解.docx

    程序与进程: 程序是静态的(文件),进程是动态的(运行的程序) 进程和线程: 一个程序至少有一个进程,一个进程至少有一个线程 进程之间的内存是独立的 线程之间的内存是共享(共享的优点并发连接高,缺点安 ...

最新文章

  1. 二值化算法OTSU源码解析
  2. 动态调试android, ddmsida
  3. Angular目录结构分析以及app.module.ts详解
  4. Spring Boot——易班优课YOOC课群在线测试自动答题解决方案(二)答案储存
  5. sqlite 数据类型 全面
  6. django model 数据类型
  7. FallbackFactory启动的时候抛出异常
  8. r语言之生成随机序列,随机数生成函数及用法
  9. Oracle学习总结(8)—— 面向程序员的数据库访问性能优化法则
  10. 【高级内部资料】.NET数据批量写入性能分析 第一篇
  11. 动态字段无法双向绑定_ASP.NET Core Blazor Webassembly 之 数据绑定
  12. 给控件做数字签名之二:生成证书文件
  13. server2012卸载oracle,Windows Server 2008 R2卸载干净ORACLE 11G
  14. CAN通讯与RS485通讯区别
  15. c语言中输入数组时用不用加地址符,C语言中,用格式符”%s”输入字符数组时,数组名前不能加。...
  16. 数据库原理第二章测验(标黑的为答案)
  17. 云计算课程week5
  18. 全球与中国铟金属市场深度研究分析报告
  19. 【开奖】犀牛书获奖名单,留言开通成功,有奖征集意见赠书!
  20. Python使用pip安装Numpy模块

热门文章

  1. WARNING (theano.tensor.blas): Using NumPy C-API based implementation for BLAS functions.
  2. 中央空调,大金、日立、海信们的年轻人争夺战
  3. 计算机系统自动撮合成交的原则,在期货交易所计算机交易系统中,当买入价大于、等于卖出价时自动撮合成交,其成交价可能为()中的一个。...
  4. Visual Studio 和 Visual Studio Code的区别?
  5. android获得application类对象,android之Application类介绍
  6. 玩转百度AI Studio 之 用“四十路泰坦”跑线性回归
  7. 职场中的行为: 渔,鱼,摸鱼
  8. android获取屏幕宽度、高度
  9. FPGA开发流程synthesis和implementatin的作用
  10. 纵使你是个小公司UI,也需要出一篇出色的设计文档