本文介绍: 综上所述,/proc/sys/kernel/pid_max 通过设置进程ID的上限来控制系统整体进程数量,而 /etc/security/limits.d/90-nproc.conf 则是通过限制每个用户用户组的进程数量来进行资源管理。2、/proc/sys/kernel/pid_max 设置的是所有进程的上限,包括系统进程和用户进程,而 /etc/security/limits.d/90-nproc.conf限制用户进程的数量。

一、报错

#ssh登录提示
-bash: fork: Cannot allocate memory

二、问题处理

#查看最大进程数 sysctl kernel.pid_max
sysctl kernel.pid_max
#查看进程数
ps -eLf | wc -l
#确认是进程数满了
#处理方式
#修改最大进程数后系统恢复
#
echo 1000000 > /proc/sys/kernel/pid_max
#处理方式
#永久生效
echo "kernel.pid_max=1000000 " >> /etc/sysctl.conf
sysctl -p
#此服务器hive问题删除hiveserver2进程后,进程数小了
#修改hiveserver2配置
#配置位置/opt/ben/core/hive/conf/hive-site.yml

<property>
  <name>hive.server2.session.check.interval</name>
  <value>60000</value>
</property>

<property>
  <name>hive.server2.idle.session.timeout</name>
  <value>3600000</value>
</property>

三、/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 则是通过限制每个用户或用户组的进程数量来进行资源管理

原文地址:https://blog.csdn.net/weixin_43135696/article/details/131633189

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任

如若转载,请注明出处:http://www.7code.cn/show_15371.html

如若内容造成侵权/违法违规/事实不符,请联系代码007邮箱suwngjj01@126.com进行投诉反馈,一经查实,立即删除!

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注