一、报错提示
sftp、ssh提示:
client_loop: send disconnect: Broken pipe
Connection closed.
Connection clos
su -提示:
su: cannot set user id: Resource temporarily unavailable
二、问题处理
#资源限制查看
#查看当前用户资源限制
ulimit -a
#统计用户进程开启数
ps -ef |grep username | wc -l
#统计用户文件打开数
lsof | grep username | wc -l
#修改用于限制用户能够同时运行的最大进程数
vim /etc/security/limits.d/90-nproc.conf
#soft 表示软限制,当达到软限制时会给出警告,但允许继续创建新的进程。hard 表示硬限制,达到硬限制时将禁止创建新的进程。
#将soft nproc的值从1024改为4096
# Default limit for number of user's processes to prevent
# accidental fork bombs.
# See rhbz #432903 for reasoning.
* soft nproc 4096
root soft nproc unlimited
三、/etc/security/limits.d/90-nproc.conf和/proc/sys/kernel/pid_max配置文件的区别
/proc/sys/kernel/pid_max是一个系统内核参数,用于设置系统可以分配的最大进程ID(PID)数。每个新创建的进程都会被分配一个唯一的PID,该值决定了系统能够支持的最大进程数量。
/etc/security/limits.d/90-nproc.conf是一个配置文件,用于设定每个用户或用户组在系统中可同时运行的最大进程数。它是通过软件层面的限制来控制进程的数量,以确保资源分配合理、防止过度占用系统资源等。
区别在于:
1、/proc/sys/kernel/pid_max 是系统级别的设置,影响整个操作系统的进程数量。而 /etc/security/limits.d/90-nproc.conf 是针对每个用户或用户组的个别限制,用于限制特定用户或组的进程数量。
2、/proc/sys/kernel/pid_max 设置的是所有进程的上限,包括系统进程和用户进程,而 /etc/security/limits.d/90-nproc.conf 只限制用户进程的数量。/3、/proc/sys/kernel/pid_max 的修改需要超级用户权限,而 /etc/security/limits.d/90-nproc.conf 的修改通常由系统管理员或具有适当权限的用户进行。
综上所述,/proc/sys/kernel/pid_max 通过设置进程ID的上限来控制系统的整体进程数量,而 /etc/security/limits.d/90-nproc.conf 则是通过限制每个用户或用户组的进程数量来进行资源管理。