在Linux系统内启动某个服务时提示task: Cannot allocate memory该如何处理?

问题现象

在ECS实例中启动某个服务进程时,系统提示task: Cannot allocate memory错误,如下图所示。

在Linux系统内启动某个服务时提示task: Cannot allocate memory该如何处理?

可能原因

可能是系统进程数超限导致。

Linux内核通过内核配置参数kernel.pid_max限制进程的数量,当运行的服务的总进程数超出kernel.pid_max的值时,再创建新进程时系统会报错task: Cannot allocate memory

解决方案

您可以参考以下步骤,根据实际需要调高kernel.pid_max的值(即允许系统运行更多的进程数)。

1.远程连接ECS实例

2.执行以下命令,查看系统当前已运行的进程数是否大于最大进程数。

查看系统当前已运行的进程数。
ps -eLf | wc -l

查看系统的最大进程数。
sysctl kernel.pid_max

如果系统已运行的进程数大于最大进程数,请继续执行3

3.将命令中的XXXX修改为期望值,来调高kernel.pid_max的值。

执行以下任意一条命令,临时设置(重启实例后会失效,需要重新设置)
sysctl -w kernel.pid_max=XXXX
echo XXXX> /proc/sys/kernel/pid_max

永久设置
echo "kernel.pid_max=XXXX" >> /etc/sysctl.conf
sysctl -p

调高后,系统立即生效。

文章来源:https://www.cnaaa.net,转载请注明出处:https://www.cnaaa.net/archives/10066

(0)
凯影的头像凯影
上一篇 2023年11月13日 下午4:22
下一篇 2023年11月14日 下午6:40

相关推荐

  • 云服务器上的目录定时同步到Github

    具体操作与脚本 第一 在Github上创建私有仓库这一步相信大家都知道怎么操作 第二 在服务器拉取Github仓库并把.git目录复制到需要同步的目录下假设服务器需要同步的目录为:/usr/share/nginx/html/imgs 第三 编写定时同步脚本具体脚本如下,如脚本位置: /root/script/sync_to_github.sh 第四 通过Li…

    2023年5月15日
    1.2K00
  • 简洁的脚本编写规范

    脚本健壮性是脚本设计考虑的重要因素。很多脚本编写时只考虑到一些正常执行路径,里面各种条件都满足的情况下,脚本能正常执行。条件不满足时,容易出错,导致故障 脚本设计应该是一个闭环,从开始执行到最终执行完成是可预期的。脚本依赖的条件,执行时会进行检测,不满足则抛异常,脚本执行的结果应该返回正确的状态,执行出错时有通知机制 基本规范 脚本编写需要遵循以下基本的规范…

    2023年4月19日
    96700
  • Windows 10 共享打印机出现0x00000709报错

    在共享端主机上进行操作 新建记事本文档,输入如下内容: 然后保存,修改文件扩展名为reg,比如1.reg,然后双击这个文件导入注册表即可解决问题。

    2022年12月13日
    1.2K00
  • 安装 Smem – Linux工具 安装条件: 现代内核 (版本号高于 2.6.27) 较新的 Python 版本 (2.4 及以后版本) 可选的 matplotlib 库用于生成图表 对于当今的大多数的 Linux 发行版而言,内核版本和 Python 的版本都能够满足需要,所以仅需要为生成良好的图表安装 matplotlib 库。 RHEL,…

    2023年8月25日
    1.2K00
  • Linux查看网卡连接状态

    CentOS系统 通过service命令查看 连接状态 未连接状态

    2022年7月14日
    1.8K00

发表回复

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

在线咨询: QQ交谈

邮件:712342017@qq.com

工作时间:周一至周五,8:30-17:30,节假日休息

关注微信