今天,手下的家伙又来问,内存好像使用了很多,但是不知是哪些 ,于是
ps aux| grep -v "USER" |sort -n -r -k 4 |awk 'NR==1{ print $0}'
root 5450 46.5 0.1 450772 71224 ? Rl 11:39 0:00 ./1gameworld
ps aux | sort -k4nr | head -n 10
root 18251 57.6 3.0 2708320 1993208 ? Sl May26 82506:15 gameworld
root 18129 52.1 1.4 1707296 970892 ? Sl May26 74633:49 1gameworld
mysql 18378 1.1 0.5 2520052 342164 ? Sl Apr17 2269:48 /usr/sbin/mysqld –basedir=/usr –datadir=lib/mysql –plugin-dir=/usr/lib64/mysql/plugin –user=mysql –log-error=/var/lib/mysql/err –pid-file=/var/lib/mysql/pid –socket=/var/lib/mysql/mysql.sock –port=11
nginx 3122 0.0 0.0 45572 2064 ? S 2014 1:50 nginx: worker process
root 100 0.0 0.0 0 0 ? S 2014 8:02 [events/1]
root 10 0.0 0.0 0 0 ? S 2014 0:16 [watchdog/1]
root 1 0.0 0.0 19228 1508 ? Ss 2014 0:02 /sbin/init
root 101 0.0 0.0 0 0 ? S 2014 7:54 [events/2]
linux服务器内存占用过大解决办法
从应用程序的角度来说,可用内存=系统free memory+buffers+cached
free命令用来显示内存的使用情况,使用权限是所有用户。
b.格式
free [-b -k -m] [-o] [-s delay] [-t] [-V]
c.主要参数
-b -k -m:分别以字节(KB、MB)为单位显示内存使用情况。
-s delay:显示每隔多少秒数来显示一次内存使用情况。
-t:显示内存总和列。
-o:不显示缓冲区调节列。
d.应用实例
free命令是用来查看内存使用情况的主要命令。和top命令相比,它的优点是使用简单,并且只占用很少的系统资源。通过-S参数可以使用free命令不间断地监视有多少内存在使用,这样可以把它当作一个方便实时监控器。
#free -b -s5
使用这个命令后终端会连续不断地报告内存使用情况(以字节为单位),每5秒更新一次。
Linux查看CPU和内存使用情况
Linux环境下测量程序的内存占用
linux进程的内存使用解析–good C 层面了
ECS 内存优化方案