【原创】修改最大用户进程限制 "ulimit -u"

centos 6.x

  内核版本2.6.32以上,修改/etc/security/limits.d/90-nproc.conf:因为系统是先读/etc/security/limits.conf的值,在用/etc/security/limits.d/90-nproc.conf去覆盖,所以,仅仅更改/etc/security/limits.conf是没有效果的

centos 5.x

  centos 5.x 并没有90-nproc.conf这个文件,我这边是通过修改/etc/security/limits.conf,在最后添加
    * soft nproc N
    * hard nproc N

如果没有限制, 则最大值是由物理内存大小决定:/proc/meminfo(kb) 除以 128(kb),原理来自于:http://blog.yufeng.info/archives/2568

$ cat /proc/meminfo |grep MemTotal

MemTotal: 49421024 kB

$ echo "49421024 / 128"| bc
386101

$ ulimit -u
385962

注:BC命令行计算器

如果进程可能会无限制条用fork,且进程已经启动的情况下,在修改上述的值是无效的,以下为动态调整方法:

  echo -n ‘Max processes=SOFT_LIMITS:HARD_LIMITS’ > /proc/`pidof mysqld`/limits
  通过如上命令就可以动态调整已经存在的mysqld的processes限制了。

时间: 2024-07-31 00:47:50

【原创】修改最大用户进程限制 "ulimit -u"的相关文章

修改linux用户的可以打开的最大文件数和进程数(fork: retry: Resource temporarily unavailable)

今天,jenkins发布应用时,遇到一个报错,如下: /etc/profile:fork: retry: Resource temporarily unavailable Google了一下,网上大家大部分说原因可能是,用户的进程数或者文件打开数,达到了限制.按照这个思路,我去查问题,发现用户的进程数为200多,文件打开数为1300多 而通过ulimit–a,看到 openfiles                      (-n) 1024 maxuser processes        

修改用户进程可打开文件数限制(转)

1.修改用户进程可打开文件数限制 在Linux平台上,无论编写客户端程序还是服务端程序,在进行高并发TCP连接处理时,最高的并发数量都要受到系统对用户单一进程同时可打开文件数量 的限制(这是因为系统为每个TCP连接都要创建一个socket句柄,每个socket句柄同时也是一个文件句柄).可使用ulimit命令查看系统允许 当前用户进程打开的文件数限制: [[email protected] ~]$ ulimit -n 1024 这表示当前用户的每个进程最多允许同时打开1024个文件,这1024个

[Linux] 关于Centos6中ulimit nproc用户进程数的限制

一.缘由: 在启动mongodb的时候,有Warning提示soft rlimits too low,就是用户使用进程数过小,遂调高系统资源关于用户最大进程数的限制ulimit -u. 先暂时使设置生效,ulimit -u 102400,提示: ulimit: max user processes: cannot modify limit: Operation not permitted. 修改/etc/security/limits.conf 为 * soft nproc 102400,退出s

修改操作系统句柄数和用户进程数

对于一般的应用来说(像Apache.系统进程)1024完全足够使用.但是像squid.mysql.java等单进程处理大量请求的应用来说就有点捉襟见肘了.如果单个进程打开的文件句柄数量超过了系统定义的值,就会提到"too many files open"的错误提示.怎么查看当前进程打开了多少个文件句柄呢? lsof -n |awk '{print $2}'|sort|uniq -c |sort -nr|more 在系统访问高峰时间以root用户执行上面的脚本,可能出现的结果如下: #

Android之——系统进程与用户进程分离

转载请注明出处:http://blog.csdn.net/l1028386804/article/details/47282031 在上一篇博文<Android之--杀死用户选中的进程优化>一文中,我向大家介绍了如何优化用户的体验,那么这篇博文中,我将向大家介绍如何进行系统进程与用户进程的分离操作.同样,这篇博文是基于上一篇博文改进的.如果大家还没有阅读上一篇博文,请大家先阅读上一篇博文<Android之--杀死用户选中的进程优化>一文.好了,咱们直接进入主题吧. 一.原理 老规矩

Kernel与用户进程通信

测试IPv6 ready logo   rfc 3315的时候,遇到一个问题,要求在收到ICMPv6 RA的时候,DHCPv6  Client要发Solicit消息.在平常的应用中,都是启动DHCPv6  Client后,client每隔一段时间就会发送Solicit,而并不是要在收到RA的时候发送.于是就修改了下kernel和client的代码,使得在kernel收到RA消息时,发送消息给DHCPv6  Client,使client发送Solicit. 思路为:使用netlink_kernel

Linux下修改当前用户的最大线程数

1 查看当前用户的线程 ulimit -a 2 修改配置文件 vi /etc/security/limits.d/90-nproc.conf 3 改完即可生效

Linux下的进程类别(内核线程、轻量级进程和用户进程)以及其创建方式--Linux进程的管理与调度(四)

本文声明 日期 内核版本 架构 作者 GitHub CSDN 2016-05-12 Linux-4.5 X86 & arm gatieme LinuxDeviceDrivers Linux进程管理与调度-之-进程的创建 本文中出现的,内核线程,轻量级进程,用户进程,用户线程等概念,如果不太熟悉, 可以参见 内核线程.轻量级进程.用户线程三种线程概念解惑(线程≠轻量级进程) Linux进程类别 虽然我们在区分Linux进程类别, 但是我还是想说Linux下只有一种类型的进程,那就是task_str

linux 修改普通用户的 max user process

因为出现  fork: retry: No child processes 问题 , google了一下 , 大家说是要去修改 /etc/security/limits.conf 文件 , 然后我用root用户去修改了一下 , 如下图 : 后我切换到普通用户 后. 使用ulimit -a 查看的时候 发现max user processes竟然是4096 . 懵逼了 ,. 我不是改了所有用户都是1048576了嘛 . 最后的最后 .... 我看见网上的同志们说 普通用户修改应该在 :/etc/s