Linux内存高,触发oom-killer问题…
来源:互联网 发布:车主拉客软件 编辑:程序博客网 时间:2024/05/08 09:20
最近遇到两起Linux的内存问题,其一是触发了oom-killer导致系统挂
1. 首先确认该系统的版本是32位
#uname -a
Linux alarm 2.6.9-67.ELsmp #1 SMP Wed Nov 7 13:58:04EST 2007 i686 i686 i386
2. 我们了解一下32位Linux的内存管理结构
# DMA: 0x00000000 - 0x00999999 (0 - 16 MB)
# LowMem: 0x01000000 - 0x037999999 (16 - 896MB) - size: 880MB
# HighMem: 0x038000000 -<硬件特定>
3. 如何查看lowMem
-bash-3.00# free -lm
total used free shared buffers cached
Mem: 2026 1973 52 0 36 1303
Low: 874 823 51
High: 1151 1150 1
-/+ buffers/cache: 633 1392
Swap: 3067 142 2924
4. 所以我们需要保护LowMem,在2.6内核引入了lower_zone_protection,这将让内核愿意保护lowmemory,从而在分配内存时优先考虑从high memory分配。
-bash-3.00# cat/proc/sys/vm/lower_zone_protection
0
-bash-3.00#echo 400 >/proc/sys/vm/lower_zone_protection
1. 确认该系统的版本是64位
# uname -a
Linux gxgd-nms-app 2.6.18-194.el5xen #1 SMP Tue Mar16 22:01:26 EDT 2010 x86_64 x86_64 x86_64 GNU/Linux
2. 用ps查看各进程的内存,大约就占用了4G, 绝大部分内存都是被PageCache所占用。Linux内核的策略是最大程度的利用内存cache文件系统的数据,提高IO速度,虽然在机制上是有进程需要更大的内存时,会自动释放PageCache,但不排除释放不及时或者释放的内存由于存在碎片不满足进程的内存需求。
Linux提供了这样一个参数min_free_kbytes,用来确定系统开始回收内存的阀值,控制系统的空闲内存。值越高,内核越早开始回收内存,空闲内存越高。
[root@zyite-app01 root]# cat/proc/sys/vm/min_free_kbytes
163840
echo 963840 >/proc/sys/vm/min_free_kbytes
其他可选的临时解决方法:
关闭oom-killer
echo "0" > /proc/sys/vm/oom-kill
vi /etc/sysctl.conf
2. 清空cache (可选)
echo 1 > /proc/sys/vm/drop_caches
- Linux内存高,触发oom-killer问题…
- LINUX内存高,触发OOM-KILLER问题解决
- LINUX内存高,触发OOM-KILLER问题解决
- LINUX内存高,触发OOM-KILLER问题解决
- Linux内存高,触发oom-killer问题解决
- Linux内存高,触发oom-killer问题解决
- Linux读取文件,导致内存高,触发oom-killer问题解决
- Linux oom-killer的问题
- Linux OOM-killer(内存不足时kill高内存进程的策略)
- OOM killer问题
- linux oom killer
- Linux OOM-killer
- Linux OOM killer 机制
- Linux之OOM-killer
- OOM killer linux
- linux OOM killer分析
- Linux -- 内存控制之oom killer机制及代码分析
- linux OOM-killer机制(杀掉进程,释放内存)
- VMware报错“原因: 未能锁定文…
- AIX 常用命令汇总
- 怎样去除视频前广告
- 著名等级保护专家陆宝华谈我国信息…
- LinuxPAE扩展
- Linux内存高,触发oom-killer问题…
- 浅谈Linux内存管理机制
- 唯铁饭碗或月薪10万
- Linux系统的进程管理
- 入门:创建一个android项目
- TCP/IP详解学习笔记(4)-ICMP协议,ping和Traceroute
- twemproxy简介
- 移动开发者必须了解的10大跨平台工具
- UVA 11478 - Halum(差分约束+最短路)