top命令怎么用,你知道吗

190 阅读3分钟

前言

记得之前买的服务器,有些卡,但又不知道哪里卡,内存不够?cpu性能不够? 遗憾之前对于top不太熟悉,直接将内存/cpu都提升了,当然也多花了些钱,但如何通过top发现你系统的性能如何,或者哪些进程占用比较高,是一个trouble-shooting的必备能力, 所以这节学习分享关于top的命令,为后面关于内存/cpu异常情况下,不至于摸不着头脑

最基本的命令top

一个回车下去,显示下图的内容 image.png

分为两部分,上面的头部总体情况,下面列表各个进程的占用情况,先从上面来说

总体情况

  • top - 23:15:44 up 288 days, 10:07, 1 user, load average: 1.53, 1.89, 1.85

    • 服务器运行288天,共一个用户在线,
    • load average:系统1,5,15分钟cpu的负载率%
  • Tasks: 159 total, 1 running, 115 sleeping, 0 stopped, 0 zombie

    • Tasks:任务数量共159个
    • Running:有一个进程正在执行
    • Sleeping:115个在偷懒睡眠
    • stopped: 0个停止
    • zombie: 0个僵尸进程(zombie新学单词僵尸)
  • %Cpu(s): 0.2 us, 0.2 sy, 0.0 ni, 99.2 id, 0.5 wa, 0.0 hi, 0.0 si, 0.0 st Cpu运行时间占比情况,

    • us:用户进程占用cpu时间百分比
    • sy:内核占用cpu时间百分比
    • id:空闲的Cpu事件百分比(id 竟然达到了99 没用起来呀)
    • wa:等待I/O的CPu时间百分比
    • hi:CPU硬中断时间百分比
    • st:CPU软中断时间百分比

如果想要看每核cpu使用情况 按1 image.png

  • KiB Mem : 3875380 total, 198736 free, 1015104 used, 2661540 buff/cache 内存使用情况

    • total:总共多少kb
    • free:空闲多少
    • used:使用多少
    • buff/cache:缓存的
  • KiB Swap: 0 total, 0 free, 0 used. 2759080 avail Mem 交换空间(貌似没啥用)

    • 和上面内存一样的字段意思,偷个懒不写了

各个进程的占用情况

image.png

image.png

  • PID: 进程号
  • USER:所属用户
  • PR:进程优先级别,越小越优先被执行
  • NI:
  • VIRT:占用虚拟内存大小
  • RES:占用物理内存大小
  • SHR:使用功能内存大小
  • S:进程状态,S休眠,R运行,Z僵尸,
  • CPU:占用CPU使用率
  • MEM:占用内存百分比
  • Time:占用cpu总时间 image.png

---- 网上完整版的

还有对于top之后的一些操作快捷键,最常用的是

  • 按内存排序 shift+m
  • 按cpu排序shift+p
  • 按占用cpu时间排序shift+t

扩展

还有一个比较好使或者好玩的操作

  • m切换mem的不同显示情况 image.png
  • t 切换cpu的不同显示情况 image.png
  • 还可以m+p都按一次 image.png
  • top -c显示完整程序命令
  • top -p $pid 显示指定进程信息

今天的分享到此结束,我是哈哈怪,每天笑哈哈

以下致谢/参考学习来源:

参考

本文使用 markdown.com.cn 排版