`
have23
  • 浏览: 44356 次
  • 性别: Icon_minigender_1
  • 来自: 西安
社区版块
存档分类
最新评论

Open files rlimit 1024 reached for uid XXXX

阅读更多
关键字:
Novell SUSE Linux Enterprise Server 9
Novell SUSE Linux Enterprise Server 9 Service Pack 3

Open files rlimit 1024 reached for uid XXXX


现象:
在Novell SUSE Linux Enterprise Server 9 的环境下

/var/log/messages 中出现
Open files rlimit 1024 reached for uid XXXX

那么恭喜你,你的机器很快就有可能down..我这边遇到的现象是重启。

具体日志为:

nbcsa kernel: open files rlimit 1024 reached for uid 0 pid 8003

我的服务器是IBM的X3650..出现这样的日志后,基本3-4天就会重启。

重启的时间很规律,都是凌晨的4:15左右。


解决办法:
你可以按照,以下方式来解决
http://www.novell.com/support/php/search.do?cmd=displayKC&docType=kc&externalId=3302273&sliceId=1&docTypeID=DT_TID_1_1&dialogID=63021602&stateId=0%200%2063025219

我使用了第一种方式:
Modify the file "/etc/init.d/cron" adding the line "ulimit -n 65536" (without quotes)

改了之后,故障依旧。

我觉得自己改的有些唐突,没有搞清状况就动手了。

首先要搞清楚 pid 8003 是哪个进程。

但ps -ef|grep 8003,找不到这个进程。。

于是我写了一个shell,每分钟执行一次进行捕捉,但依旧找不到8003。


于是。。。

我就采用了第二种方式:
Use the "/etc/initscript" file

As stated in the man pages for initscript (man initscript) is possible to create the file "/etc/initscript" that can be used to set things like ulimit and umask default values for every process. The following initscript will increase the Hard limits for the open files to 65536 for every process:

# Increase the hard file descriptor limit for all processes
# to 65536.  The soft limit is still 1024, but any unprivileged
# process can increase it's soft limit up to the hard limit
# with "ulimit -Sn xxx" (needs a 2.2.13 or later Linux kernel).
ulimit -Hn 65536

# Execute the program.
eval exec "$4"

监测了3个礼拜后,故障得到解决。

遗留问题:
uid o pid 8003,到底是哪个进程。

为何此进程不受PAM影响.(/etc/security/limits.conf 在装oracle9i时,已经被orarun修改过)






0
2
分享到:
评论

相关推荐

    报错:too many open files处理

    在IT行业中,我们经常遇到各种错误,其中之一是“too many open files”。这个错误通常发生在操作系统限制了同一时间可打开的文件数量,而程序试图超出这个限制时。在本篇文章中,我们将深入探讨这个问题,理解其...

    访问应用很慢,访问Nginx时,报错:accept() failed (24 Too many open files).docx

    worker_rlimit_nofile 655350; 这将解决 Nginx 连接过多的问题,使其支持高并发。 四、影响 MySQL 并发连接数 ulimit 命令不仅影响 Nginx,还会影响 MySQL 的并发连接数。提高文件连接数设置,也能提高 MySQL ...

    linux下 rlimit

    在Linux系统中,rlimit机制是用于控制进程资源限制的关键组件。通过rlimit,系统管理员或用户能够设定进程可以消耗的资源上限,这对于防止资源过度消耗、提高系统稳定性及安全性至关重要。本文将深入探讨rlimit的...

    cl-rlimit:unix rlimit 的通用 lisp 接口——确保您的程序性能!

    Unix getrlimit 和 setrlimit 的简单接口。 如需进一步参考,请参阅和 。 rlimit, (setf rlimit) 函数rlimit资源 -> 当前,最大值 ... +RLIMIT-NOFILE+或 + +RLIMIT-NUMBER-OF-FILES+ +RLIMIT-NPROC+或+RLIMIT-NU

    Tengine(Nginx)配置参考

    设置后你的操作系统和Nginx可以处理比“ulimit -a”更多的文件,所以把这个值设高,这样nginx就不会有“too many open files”问题了。 worker_rlimit_nofile 100000; #全局错误日志及PID文件 #error_log logs/...

    rlimit:go的复杂速率限制

    #rlimit 包 rlimit 包含有助于复杂速率限制场景的实用程序。 RateLimiter 结构通过使用以固定速率滴答的股票代码和等待重置之前允许的滴答数的指定限制的组合来工作。 这是因为我的应用程序使用的 API 允许以 50 次...

    解析服务器常见错误代码500、501、502、503、504、505

    一:500错误 1、500 Internal Server Error 内部... b、如果是too many open files,修改nginx的worker_rlimit_nofile参数,使用ulimit查看系统打开文件限制,修改/etc/security/limits.conf,还是出现too many open

    基于Linux系统调用--getrlimit()与setrlimit()函数的方法

    参数`resource`是一个枚举值,代表要查询的资源类型,如`RLIMIT_AS`(最大虚拟内存)、`RLIMIT_CPU`(最大CPU时间)等。`rlim`是一个指向`struct rlimit`结构体的指针,该结构体包含两个成员:`rlim_cur`(软限制)和`...

    Cognos 8 (for aix+oracle)安装手册.doc

    - **s700_80011.11 thread nostop for NFS, rlimit, Ufalloc fix**:针对 NFS 的线程不停止、资源限制和 Ufalloc 修复的补丁。 - **HP-UX 11i v2:** - **Hardware Enablement (B.11.23.0505.022b)**:适用于 HP-...

    too-many-files

    "too-many-files"这个标题暗示了我们可能遇到了一个与处理众多文件相关的问题,这在Linux或Unix类操作系统(如macOS)中尤为常见,因为它们通常使用命令行工具,如Shell,来管理文件和目录。在Shell环境中,处理大量...

    从Linux源码看Socket(TCP)Client端的Connect的示例详解

    - **`ulimit`**:`expand_files`函数检查当前进程的文件描述符数量是否超过了由`RLIMIT_NOFILE`设置的限制。如果超过,返回`-EMFILE`错误,表示“Too many open files”。 - **`max_files`**:`get_empty_filp`...

    Nginx性能配置[参照].pdf

    提高这个值可以允许Nginx处理更多的并发连接,避免“too many open files”的错误。 3. **events模块**: - **worker_connections**:设置每个工作进程的最大并发连接数,不应超过系统允许的最大socket连接数。 -...

    一些优化Nginx服务器的技巧简介

    增加此值可以防止在高负载下出现too many open files的错误,但同样需要注意操作系统的限制。 ### 总结 在优化Nginx服务器的过程中,应根据实际应用场景和服务器硬件资源进行合理配置。上述配置中,HTTP模块和...

    php-fpm.conf配置文件中文翻译注释

    - `rlimit_files = 1024`:限制进程可以打开的最大文件描述符数。 - `rlimit_core = 0`:限制核心转储文件的大小,0表示不允许创建。 以上只是`php-fpm.conf`配置文件中的一部分选项,实际文件中还包含更多细节和...

    solaris系统编程教学(英文版)

    7. **权限与安全**:学习Unix的用户和组概念,理解文件权限(rwx)和特殊权限(setuid、setgid、sticky),以及如何通过setuid和setgid程序实现权限提升。 8. **设备驱动编程**:虽然不适用于初学者,但对高级...

    如何配置Nginx每个进程最多打开的文件数量

    通过执行`ulimit -a`命令,我们可以看到各项资源限制的设定,其中包括了`open files (-n)`这一项,它显示的是系统允许一个进程同时打开的最大文件数。例如,这里显示为1024,这意味着默认情况下,一个进程最多只能...

    详解Nginx服务器中的nginx.conf配置文件

    Nginx 配置文件主要分成四部分... worker_rlimit_nofile #  指定所有 worker 进程能够打开的最大文件数  worker_cpu_affinity  设置 worker 进程的 CPU 粘性,以避免进程在 CPU 间切换带来的性能消耗。如 worker_cp

    nginx 10w并发优化项

    - **建议值:** `max`参数应与`worker_rlimit_nofile`一致,`inactive`参数根据实际负载情况进行调整。 - **配置示例:** `open_file_cache max=65535 inactive=60s;` **9. **`open_file_cache_valid`**:** - **...

    linux core文件生产设置与编码

    具体到core文件,需要使用RLIMIT_CORE作为resource参数。这两个函数的声明如下: ```c #include int getrlimit(int resource, struct rlimit *rlptr); // 获取当前进程的限制值 int setrlimit(int resource, ...

    nginx优化 突破十万并发

    3. worker_rlimit_nofile指令用于设置Nginx进程所能够打开的最大文件句柄数。当Nginx作为Web服务器时,它需要打开很多文件句柄来处理并发连接。设置这个参数能够保证Nginx不会因为打开过多文件句柄而耗尽资源。这里...

Global site tag (gtag.js) - Google Analytics