概述

今天这个问题是未解之谜,还是挺神奇的,一起来看看吧~


1、问题说明

以下是一台2核4G的服务器,其中服务器上没运行任何程序,但4G内存就用了2.5G

linux查看服务内存使用情况 linux服务器内存异常(1)

这里用vmstat间隔5秒统计一次,共统计6次

linux查看服务内存使用情况 linux服务器内存异常(2)


2、查看内存详细信息

cat /proc/cpuinfo

[root@EPMSDB tuned]# cat /proc/meminfo MemTotal: 3882316 kB MemFree: 1174264 kB MemAvailable: 1084616 kB Buffers: 0 kB Cached: 67764 kB SwapCached: 0 kB Active: 51984 kB Inactive: 56356 kB Active(anon): 40888 kB Inactive(anon): 16864 kB Active(file): 11096 kB Inactive(file): 39492 kB Unevictable: 0 kB Mlocked: 0 kB SwapTotal: 2097148 kB SwapFree: 2097148 kB Dirty: 0 kB Writeback: 0 kB AnonPages: 40540 kB Mapped: 22772 kB Shmem: 17176 kB Slab: 25928 kB SReclaimable: 10688 kB SUnreclaim: 15240 kB KernelStack: 1936 kB PageTables: 3072 kB NFS_Unstable: 0 kB Bounce: 0 kB WritebackTmp: 0 kB CommitLimit: 4038304 kB Committed_AS: 260036 kB VmallocTotal: 34359738367 kB VmallocUsed: 150720 kB VmallocChunk: 34359341052 kB HardwareCorrupted: 0 kB AnonHugePages: 8192 kB HugePages_Total: 0 HugePages_Free: 0 HugePages_Rsvd: 0 HugePages_Surp: 0 Hugepagesize: 2048 kB DirectMap4k: 51136 kB DirectMap2M: 4143104 kB

linux查看服务内存使用情况 linux服务器内存异常(3)


3、手动释放内存

手动释放缓存后还是占用2.5G空间。

linux查看服务内存使用情况 linux服务器内存异常(4)


4、查看进程内存

--按内存使用大小排序 ps aux|head -1;ps aux|grep -v PID|sort -rn -k 4|head

可以发现其中tuned占用内存比较多

linux查看服务内存使用情况 linux服务器内存异常(5)


5、考虑重启tuned进程

RHEL/CentOS 在 6.3 版本以后引入了一套新的系统调优工具 tuned/tuned-adm,其中 tuned 是服务端程序。

Tuned本质上是一个Linux环境中的后台进程,在运行过程中依据配置内容监控调整系统。监控程序会根据监控的配置内容,监控进程会持续监控结果反馈,调整优化策略。

直接停止tuned进程后无效,还是2.5G占用

systemctl stop tuned


6、考虑是否有僵死进程

无僵死进程

lsof|grep deleted

linux查看服务内存使用情况 linux服务器内存异常(6)


目前还不知道这2.5G究竟消耗到哪了...莫非是显存问题?但服务器重启后却恢复正常了,继续观察..

linux查看服务内存使用情况 linux服务器内存异常(7)

,