linux使用的内存未知(不是Slab)

时间:2017-11-01 02:22:03

标签: linux

未知(VMware / CentOS)占用的内存

您好。 我们有一个服务器,有内存完全使用的问题,但无法找到吃内存的东西。 几天前内存的使用量增加了40% - > 100%并且从那时起就呆在那里。 我们想杀死任何吃东西。

[包膜]

cat /etc/redhat-release
CentOS release 6.5 (Final)

# arch
x86_64

[状态]

#free
             total       used       free     shared    buffers     cached
Mem:      16334148   15682368     651780          0      10168     398956
-/+ buffers/cache:   15273244    1060904
Swap:      8388600     129948    8258652

top的结果(某些信息被???掩盖)

#top -a   
top - 10:19:14 up 49 days, 11:13,  1 user,  load average: 1.05, 1.05, 1.10
Tasks: 145 total,   1 running, 143 sleeping,   0 stopped,   1 zombie
Cpu(s): 11.1%us, 18.4%sy,  0.0%ni, 69.5%id,  0.8%wa,  0.0%hi,  0.2%si,  0.0%st
Mem:  16334148k total, 15684824k used,   649324k free,     9988k buffers
Swap:  8388600k total,   129948k used,  8258652k free,   387824k cached
  PID USER      PR  NI  VIRT  RES  SHR S %CPU %MEM    TIME+  COMMAND                                                                                                                
17940 ???      20   0 7461m 6.5g 6364 S 16.6 41.5   1113:27 java                                                                                                                    
 4982 ???      20   0  941m 531m 5756 S  2.7  3.3 611:22.48 java                                                                                                                    
 3213 root      20   0 2057m 354m 2084 S 99.8  2.2 988:43.79 python                                                                                                                  
28270 ???      20   0  835m 157m 5464 S  0.0  1.0 106:48.55 java                                                                                                                    
 1648 root      20   0  197m  10m 1452 S  0.0  0.1  42:35.95 python                                                                                                                  
 1200 root      20   0  246m 7452  808 S  0.0  0.0   2:37.42 rsyslogd     

正在使用内存的进程(某些信息被???屏蔽)

# ps aux --sort rss
USER       PID %CPU %MEM    VSZ   RSS TTY      STAT START   TIME COMMAND
root      1200  0.0  0.0 251968  7452 ?        Sl   Sep12   2:37 /sbin/rsyslogd -i /var/run/syslogd.pid -c 5
root      1648  0.0  0.0 202268 10604 ?        Ss   Sep12  42:36 /usr/lib64/???
???     28270  0.1  0.9 855932 161092 ?       Sl   Sep14 106:49 /usr/java/???
root      3213 96.1  2.0 2107704 332932 ?      Ssl  Oct31 992:25 /usr/lib64/???
???      4982  0.8  3.3 964096 544328 ?       Sl   Sep12 611:25 /usr/java/???
???     17940  6.6 41.5 7649356 6781076 ?     Sl   Oct20 1113:49 /usr/java/???

内存几乎100%使用,但是使用ps和top,我们只能找到使用其中一半的进程。

我们检查了slab缓存,但不是原因。 平板仅为90444 kB。 系统日志中也找不到任何内容。

任何人都知道如何检测吃什么记忆?

提前谢谢。

2 个答案:

答案 0 :(得分:1)

运行free -m并查看差异。列可用显示真正的可用内存。

并查看https://www.linuxatemyram.com/

答案 1 :(得分:0)

我们重新启动了服务器并解决了这种情况。