处理办法
1.# 手动释放 linux 内存
sync
手动执行 sync 命令(描述:sync 命令运行 sync 子例程。如果必须停止系统,则运行 sync 命令以确保文件系统的完整性。sync 命令将所有未写的系统缓冲区写到磁盘中,包含已修改的 i-Node、已延迟的块 I/O 和读写映射文件)
echo 3 > /proc/sys/vm/drop_caches
cat /proc/sys/vm/drop_caches
3
将/proc/sys/vm/drop_caches 值设为 3
- 修改/proc/sys/vm/overcommit_memory 默认值 为 0
centos7 查看内存使用情况
[hadoop@28 ~]$ free -m
total used free shared buff/cache available
Mem: 15886 5819 8956 0 1109 9757
Swap: 1999 0 1999
显示的可用内存还有 8 个 g,但是启动 java 应用的时候抛出异常:
Native memory allocation (mmap) failed to map 2863333376 bytes for committing reserved memory
而该参数应该默认是 0,这种情况下,只有还有空闲的物理内存,就可以继续分配,不受虚拟地址空间的限制。
echo 0 > /proc/sys/vm/overcommit_memory
欢迎来到这里!
我们正在构建一个小众社区,大家在这里相互信任,以平等 • 自由 • 奔放的价值观进行分享交流。最终,希望大家能够找到与自己志同道合的伙伴,共同成长。
注册 关于