前段时间发了一篇关于CentOS 6.x ulimit配置文件变更为/etc/security/limits.d/90-nproc.conf  的文章.
但是如果你的系统中已经存在的进程的nproc是不会被变更过来的. 例如一个数据库服务器.
PostgreSQL所有的backend process都是从postmaster进程fork出来的, 如果postmaster进程的nproc还是老的配置的话, 资源限制依旧存在, 例如.
> psql
psql: could not fork new process for connection: Resource temporarily unavailable
could not fork new process for connection: Resource temporarily unavailable

这种情况通过修改/etc/security/limits.d/90-nproc.conf是无法实现的, 
* soft    nproc   131072
* hard    nproc   131072

但是又不能重启数据库进程怎么办呢?
只要你的内核够新2.6.32+, 那么就可以通过编辑进程的limits来实现.
例如
> ps -ewf|grep postgres
postgres  5721  5720  0 Feb26 ?        19:11:05 postgres: logger process   

主进程号是5720
# cd /proc/5720
# cat limits
Limit                     Soft Limit           Hard Limit           Units     
Max cpu time              unlimited            unlimited            seconds   
Max file size             unlimited            unlimited            bytes     
Max data size             unlimited            unlimited            bytes     
Max stack size            10485760             unlimited            bytes     
Max core file size        unlimited            unlimited            bytes     
Max resident set          unlimited            unlimited            bytes     
Max processes             1024                 131072               processes 
Max open files            131072               131072               files     
Max locked memory         51200000000          51200000000          bytes     
Max address space         unlimited            unlimited            bytes     
Max file locks            unlimited            unlimited            locks     
Max pending signals       256607               256607               signals   
Max msgqueue size         819200               819200               bytes     
Max nice priority         0                    0                    
Max realtime priority     0                    0                    
Max realtime timeout      unlimited            unlimited            us        

软限制还是1024, 修改方法
# echo -n "Max processes=131072:131072" > limits
# cat limits 
Limit                     Soft Limit           Hard Limit           Units     
Max cpu time              unlimited            unlimited            seconds   
Max file size             unlimited            unlimited            bytes     
Max data size             unlimited            unlimited            bytes     
Max stack size            10485760             unlimited            bytes     
Max core file size        unlimited            unlimited            bytes     
Max resident set          unlimited            unlimited            bytes     
Max processes             131072               131072               processes 
Max open files            131072               131072               files     
Max locked memory         51200000000          51200000000          bytes     
Max address space         unlimited            unlimited            bytes     
Max file locks            unlimited            unlimited            locks     
Max pending signals       256607               256607               signals   
Max msgqueue size         819200               819200               bytes     
Max nice priority         0                    0                    
Max realtime priority     0                    0                    
Max realtime timeout      unlimited            unlimited            us        

千万不要直接编辑这个文件.
限制问题解决了, 不会再报资源不足的错误.
> psql
psql (9.3.3)
Type "help" for help.

postgres=>

[参考]

1. http://serverfault.com/questions/201207/set-max-file-limit-on-a-running-process
2. http://blogs.kent.ac.uk/unseenit/2013/06/06/changing-ulimit-for-running-processes/
3. http://www.nowo.com/run-time-changes-ulimit/
4. http://blog.163.com/digoal@126/blog/static/16387704020145775247895/

CentOS 6.x limits changed on a existing running process相关推荐

  1. (翻译)Real-UID,Effective-UID,Saved-UID区别

    Referred Blogs Real UID, Effective UID, Saved UID区别 Content Each UNIX proces has 3 UIDs associated t ...

  2. 如何在虚拟机操作系统CentOS 7.5上部署TiDB数据库群集

    Windows 10 64位 VMware® Workstation 12 ProIntel(R) Core(TM) i5-4750 CPU @ 3.20GHz 4核 金士顿HyperX骇客神条FUR ...

  3. 在 CentOS 7.0 上源码安装 Xen 4.5

    上周 CentOS 7.0 正式版发布了,Xen4CentOS 项目还没来得及更新支持 CentOS 7.0,所以目前要在 CentOS 7.0 上玩 Xen 的唯一办法只有编译源代码了.貌似这次 C ...

  4. lighttpd php7 源码安装,如何在CentOS 7上安装Lighttpd与PHP-FPM和MariaDB

    Lighttpd是一款安全,快速,符合标准的Web服务器,专为速度至关重要的环境而设计. 本教程将介绍如何在具有PHP支持(通过PHP-FPM)和MySQL支持的CentOS 7服务器上安装Light ...

  5. 【gcc】centos安装gcc

    本文说的方法是通过centos自带的包管理工具安装gcc,非离线安装,离线安装可以百度搜索到有方法,这个需要对应下载指定版本的gcc. 1.确认下系统是否安装了yum,这个一般云服务器都会自带安装. ...

  6. 第一章 Centos 简介与安装

    第一章 Centos 简介与安装 第一节 :Centos 简介 Centos作为主流的一种Linux操作系统,以后java1234课程中,比如后期讲Redis,以及部署一些项目,会把Centos作为服 ...

  7. Centos之文件搜索命令locate

    locate命令 locate 文件名 在后台数据库中按文件名搜索,搜索速度更快 /var/lib/mlocate #locate命令所搜索的后台数据库 updatedb 更新数据库 locate搜索 ...

  8. [redis]知识回顾之redis主从+哨兵搭建简要记录

    1.先准备环境 家里的万年老爷机(120G的SSD,300G硬盘 ),手机热点下载,所以只能少利用空间资源,用virtualBox装centos7纯净版 其中要点: 1.virtualbox创建新机要 ...

  9. linux在线文档库

    http://blog.csdn.net/longxibendi/article/details/6048231 1.网址: http://www.mjmwired.net 2.比如查看这个 proc ...

最新文章

  1. Web Api学习一
  2. Matlab 如何回退上一步、批量注释以及取消注释
  3. 正确使用Core Data多线程的3种方式
  4. xshell通过隧道连接_DNS安全之隧道攻击
  5. echarts 在两点之间画一条线_树的手绘很难画?分步骤教你画,简单易学,收藏起来临摹学习...
  6. C语言中fscanf的函数,C语言fprintf()和fscanf()函数
  7. 客户机不能看到分配的dhcp_交换机安全-DHCP欺骗
  8. a:hover span 隐藏/显示 问题
  9. SQLite之C++封装库CppSQLite使用方法
  10. Ajax传参里面含有特殊字符
  11. csgo服务器正在维护中,csgo社区服务器进不去解决方法
  12. CSS命名规范 BEM 颜色 【全局】
  13. 正弦余弦编码器与增量编码器的区别
  14. 关于华为应用市场的上架流程
  15. Hadoop入门——初识Hadoop
  16. 线程和协程详解-python
  17. vs项目属性中目标平台x86,x64,any cpu的区别
  18. Linux网络之连接跟踪(conntrack)
  19. 海盗分赃(8行代码搞定!)
  20. 二次型如何快速转化为矩阵?

热门文章

  1. SQL分页的三种方法
  2. SQL Server基础操作(此随笔仅作为本人学习进度记录二)
  3. 基于免费人脸识别的闸机开发及源码分享
  4. 如何实现蓝牙空中升级BLE OTA
  5. JavaScript 的简单学习2
  6. CM5.11与CDH5.11安装使用说明
  7. Win7 64位系统,PHP 扩展 curl方法
  8. Android开发之第三方推送JPush极光推送知识点详解 学会集成第三方SDK推送
  9. MYSQL创建多张表,相同表结构,不同表名
  10. Oracle 11g R2 64位在 win7 64位的安装流程图解