【linux】查看内存使用情况

内存使用量排序显示

top命令查看

top命令能够实时显示系统中各个进程的资源占用状况,类似于Windows的任务管理器。使用top命令可以轻松查看各个应用的内存使用情况。

# top -d 1

这里写图片描述

在top命令执行过程中可以使用的一些交互命令。如下:

指令含义
(大写)N按PID排序
(大写)P按CPU排序
(大写)M按内存使用排序
(大写)T按CPU用时排序
(数字)1可以看到有几个CPU,每个CPU的使用情况。
c切换显示命令名称和完整命令行。
t切换显示进程和CPU状态信息。
m切换显示内存信息。
u输入用户名只显示指定用户的进程
n键入数字可查看指定数量的进程,任意时刻按=即可回复最初的top显示
h 或者?显示帮助画面,给出一些简短的命令总结说明
k终止一个进程。系统将提示用户输入需要终止的进程PID,以及需要发送给该进程什么样的信号。一般的终止进程可以使用15信号;如果不能正常结束那就使用 信号9强制结束该进程。默认值是信号15。在安全模式中此命令被屏蔽
i忽略闲置和僵死进程。这是一个开关式命令。
q退出程序。
s 或者d改变两次刷新之间的延迟时间。系统将提示用户输入新的时间, 单位为s。如果有小数,就换算成ms。输入0值则系统将不断刷新,默认值是5s。需要注意的是如果设置太小的时间,很可能会引起不断刷新,从而根本来不及看清显示的情况,而且系统负载也会大大增加。

ps

查看各个应用占用的物理空间

ps -e -o 'pid,comm,args,pcpu,rsz,vsz,stime,user,uid' 
字段含义
pid进程的ID
vsz进程占用的虚拟内存
rsz进程占用的物理内存

将java程序按照进程占用的物理内存进行排序

# ps -e -o 'pid,comm,args,pcpu,rsz,vsz,stime,user,uid' | grep java |  sort -nrk5
# ps aux | grep java | sort -nrk4

查看单个应用占用的内存信息

top命令查看

# top -d 1 -p pid

pmap命令查看

pmap - report memory map of a process(查看进程的内存映像信息)

//这个命令执行需要root权限
# pmap -x pid

循环显示进程586的扩展格式的最后1行,间隔2秒。

# while true; do pmap -x  586 | tail -1; sleep 2; done

查看/proc/process_id/文件夹下文件

//pid为进程号,使用时进行替换
//显示当前进程所占用的虚拟地址。
# cat /proc/pid/maps 
//进程所占用的内存
# cat /proc/pid/statm 
//VmRSS 应用程序正在使用的物理内存的大小 
//VmSize 任务占用的虚拟地址空间的大小 
# cat /proc/pid/status

整体查看内存使用情况

查看/proc/meminfo

查看RAM使用情况最简单的方法是通过/proc/meminfo。这个虚拟文件动态更新。许多其他内存相关工具(如:free / ps / top)等,通过这个文件来获取相应的信息。

# cat /proc/meminfo

free命令查看

通过free命令查看机器空闲内存时,会发现free的值很小。这主要是因为,在linux中有这么一种思想,内存不用白不用,因此它尽可能的cache和buffer一些数据,以方便下次使用。但实际上这些内存也是可以立刻拿来使用的。
所以 空闲内存=free+buffers+cached=total-used

//查看total 行对应的free值,确定可用的内存大小。
//-t:显示内存总和列
//-h:人类视角
# free -t -h
  • 0
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值