第1行-第4行:显示CPU当前的运行负载 , 有几核就有几行 , 我的是1核
Mem: 显示内存的使用情况 , 3887M大概是3.8G , 此时的Mem不包含buffers和cached的内存 , 所以和free -m会不同 Swp: 显示交换空间的使用情况 , 交换空间是当内存不够和其中有一些长期不用的数据时 , ubuntu会把这些暂时放到交换空间中
其他信息可以参考top命令说明 。
PS:如果你终端没安装 htop,先通过指令来安装 。sudo apt-get update sudo apt install htop六、查看制定进程的内存通过/proc/procid/status查看进程内存
peng@ubuntu:~$ cat /proc/4398/statusName: kworker/0:0//进程名Umask: 0000State: I (idle)//进程的状态//R (running)", "S (sleeping)", "D (disk sleep)", "T (stopped)", "T(tracing stop)", "Z (zombie)", or "X (dead)"Tgid: 4398 //线程组的ID,一个线程一定属于一个线程组(进程组).Ngid: 0Pid: 4398 //进程的ID,更准确的说应该是线程的ID.PPid: 2//当前进程的父进程TracerPid: 0 //跟踪当前进程的进程ID,如果是0,表示没有跟踪Uid: 0 0 0 0Gid: 0 0 0 0FDSize: 64 //当前分配的文件描述符,该值不是上限 , 如果打开文件超过64个文件描述符,将以64进行递增Groups: //启动这个进程的用户所在的组NStgid: 4398NSpid: 4398NSpgid: 0NSsid: 0Threads: 1SigQ: 0/7640SigPnd: 0000000000000000ShdPnd: 0000000000000000SigBlk: 0000000000000000SigIgn: ffffffffffffffffSigCgt: 0000000000000000CapInh: 0000000000000000CapPrm: 0000003fffffffffCapEff: 0000003fffffffffCapBnd: 0000003fffffffffCapAmb: 0000000000000000NoNewPrivs: 0Seccomp: 0Speculation_Store_Bypass: vulnerableCpus_allowed: 00000000,00000000,00000000,00000001Cpus_allowed_list: 0Mems_allowed: 00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000001Mems_allowed_list: 0voluntary_ctxt_switches: 5nonvoluntary_ctxt_switches: 0
总结:确定内存使用情况是Linux运维工程师必要的技能 , 尤其是某个应用程序变得异常和占用系统内存时 。当发生这种情况时 , 知道有多种工具可以帮助你进行故障排除十分方便的 。推荐阅读
- Windows|Win10最佳免费杀软Defender“翻车”了!用户遭殃:内存占用高、黑屏
- Linux用户及权限管理
- 记一次 .NET 某招聘网后端服务 内存暴涨分析
- 新手必须掌握的linux命令
- linux内核--自旋锁的理解
- 使用MobaXterm管理远程Linux服务器
- linux smb漏洞?SMB协议漏洞
- 内存页面置换
- Linux 系统将不再默认启用 AMD SME
- linux防火墙iptables常用操作笔记