fork Cannot allocate memory

简介: 本章节分享一下经常会遇到 cannot allocate memory的解决方法

作者:枫凡

问题背景

image.png

image.png

执行 经常会遇到 cannot allocate memory的提示

排查方案

从提示来看,一般会认为是内存不足导致无法给进程分配内存,这种常规的解法
通过free top命令以及查看/var/log/message 是否存在oom的记录
还有一种可能
当前进程Process 比较多,占用Pid也会很多,导致无法分配pid,也会提示Cannot allocate memory

解决方案

\[root@iZ23pddtofdZ \~\]# sysctl \-a \| grep pid_max
kernel.pid_max = 32768

Linux系统有最大pid数量的限制
执行命令 可以查看到最大pid的数量限制
sysctl kernel.pid_max
默认为32768
如果该值设置比较小,当Pid较多时会影响新的Pid创建,提示Cannot allocate memory
sysctl -w kernel.pid_max=99999 临时修改pid_max
echo "kernel.pid_max=99999" >> /etc/sysctl.conf 永久修改pid_max
http://docs.alibaba-inc.com/pages/viewpage.action?pageId=401117574

相关文章
|
3天前
|
JavaScript 前端开发
FATAL ERROR: CALL_AND_RETRY_LAST Allocation failed - JavaScript heap out of memory 内存溢出问题
FATAL ERROR: CALL_AND_RETRY_LAST Allocation failed - JavaScript heap out of memory 内存溢出问题
10 1
|
3月前
|
安全 数据处理 C#
深入理解C#中的Span<T>和Memory<T>
【1月更文挑战第8天】本文旨在探讨C#中引入的两个重要类型:Span<T>和Memory<T>。它们为开发者提供了一种高效且安全的方式来处理内存中的数据。文章首先介绍这两个类型的基本概念和用途,接着深入分析它们的工作原理和适用场景,并通过代码示例展示如何在实际应用中使用它们。
|
9月前
|
Docker 容器
解决Native memory allocation (mmap) failed to map 2060255232 bytes for committing reserved memory.
解决Native memory allocation (mmap) failed to map 2060255232 bytes for committing reserved memory.
682 0
ZCMU - 2018: Memory leak
ZCMU - 2018: Memory leak
99 0
|
监控 应用服务中间件 nginx