码农知识堂 - 1000bd
  •   Python
  •   PHP
  •   JS/TS
  •   JAVA
  •   C/C++
  •   C#
  •   GO
  •   Kotlin
  •   Swift
  • 016 Linux 卧槽,看懂进程信息也不难嘛?top、ps


    file

    目录
    • 1 扒开看看 top 命令参数详情
      • 第一行,[top - ]任务队列信息
      • 第二行,[Tasks] 任务(进程)
      • 第三行,[Cpu(s)]状态信息
      • 第四行,[Mem]内存状态
      • 第五行,[Swap]虚拟内存交换分区信息
      • 第六行,空行
      • 第七行以下:各进程(任务)的状态监控
    • 2 top 的一些常用交互命令和使用案例
    • 3 top 命令里面的 buffer 和 cache 区别?
    • 4 ps 命令常用案例和参数说明
      • ps -aux |grep {要查找的进程}
      • ps -ef |grep {要查找的进程}
      • ps 命令其它常用案例
    • 5 小结

    1 扒开看看 top 命令参数详情

    Linux top 命令用于实时显示 process 的动态详情。

    file

    第一行,[top - ]任务队列信息

    系统时间:07:27:05
    运行时间(系统已开机多长时间):up 1:57 min
    当前登录用户数:3 user
    cpu 平均负载:load average: 0.00, 0.00, 0.00
    //三个数值分别为,1分钟,5分钟,15分钟的负载情况
    

    第二行,[Tasks] 任务(进程)

    总进程数:150 total, 
    正在运行的进程数:1 running, 
    睡眠的进程数:149 sleeping, 
    停止的进程数: 0 stopped, 
    僵尸进程数: 0 zombie
    

    第三行,[Cpu(s)]状态信息

    0.0%us【user space】— 用户空间占用CPU的百分比。
    0.3%sy【sysctl】— 系统内核占用CPU的百分比。
    0.0%ni【】— 改变过优先级的进程占用CPU的百分比
    99.7%id【idolt】— 空闲CPU百分比
    0.0%wa【wait】— IO等待占用CPU的百分比
    0.0%hi【Hardware IRQ】— 硬中断占用CPU的百分比
    0.0%si【Software Interrupts】— 软中断占用CPU的百分比
    

    第四行,[Mem]内存状态

    //total:总内存大小,used:已使用的内存,free:空闲的内存,buffers:缓存的内存大小
    1003020k total,   234464k used,   777824k free,    24084k buffers
    

    第五行,[Swap]虚拟内存交换分区信息

    //total:交换区总量;used:使用的交换区总量;free:空闲交换区总量;cached:缓存的交换区总量
    2031612k total,      536k used,  2031076k free,   505864k cached
    

    第六行,空行

    第七行以下:各进程(任务)的状态监控

    PID — 进程id
    USER — 进程所有者
    PR — 进程优先级
    NI — nice值。负值表示高优先级,正值表示低优先级
    VIRT — 进程使用的虚拟内存总量,单位kb。VIRT=SWAP+RES
    RES — 进程使用的、未被换出的物理内存大小,单位kb。RES=CODE+DATA
    SHR — 共享内存大小,单位kb
    S —进程状态。D=不可中断的睡眠状态 R=运行 S=睡眠 T=跟踪/停止 Z=僵尸进程
    %CPU — 上次更新到现在的CPU时间占用百分比
    %MEM — 进程使用的物理内存百分比
    TIME+ — 进程使用的CPU时间总计,单位1/100秒
    COMMAND — 进程名称(命令名/命令行)
    

    2 top 的一些常用交互命令和使用案例

    top 命令,然后按数字 "1" 可监控每个逻辑CPU的状况
    q # 退出程序
    m # 切换显示内存信息
    M # 根据驻留内存大小进行排序
    t # 切换显示进程和CPU状态信息
    P # 根据CPU使用百分比大小进行排序
    top -d 3 # 表示更新周期为3秒
    top -p 11 # 显示进程号为11的进程信息,CPU、内存占用率等
    

    3 top 命令里面的 buffer 和 cache 区别?

    Stack Exchange 对这个的讨论贴
    what-do-the-buff-cache-and-avail-mem-fields-in-top-mean

    摘取关键信息

    buffers
    Memory used by kernel buffers (Buffers in /proc/meminfo)
    
    cache
    Memory used by the page cache and slabs  (Cached and SReclaimable in /proc/meminfo)
    buff/cache
    
    buff/cache
    Sum of buffers and cache
    

    4 ps 命令常用案例和参数说明

    Linux ps (process status)命令用于显示当前进程的状态,类似于 windows 的任务管理器。

    ps -aux |grep {要查找的进程}

    示例:ps -aux|grep zookeeper
    # 最常用的方法是 ps -aux,结合 grep 去查找特定的进程。
    #-a 代表 all。
    #-u 以用户为主的格式来显示程序状况。
    #-x 显示所有程序,不以终端机来区分。
    

    ps -ef |grep {要查找的进程}

    示例:ps -ef | grep zookeeper
    # -e 和 -a 的意思是一样的,即显示有关其他用户进程的信息,包括那些没有控制终端的进程。
    # -f 显示用户id,进程id,父进程id,最近CPU使用情况,进程开始时间等等。
    

    ps 命令其它常用案例

    # 显示 root 用户进程信息
    ps -u root
    
    # 结合 less 命令和管道来使用
    ps -aux |less
    
    # 根据 CPU 使用来升序排序
    ps -aux --sort -pcpu | less
    
    # 根据内存使用来升序排序
    ps -aux --sort -pmem | less
    
    # 结合 head,只显示前十个
    ps -aux --sort -pcpu,+pmem | head -n 10
    
    

    5 小结

    Linux 看懂进程状况信息也不难嘛?top、ps 两个就满足一般使用!

    「不甩锅的码农」原创,转载请注明来源,未经授权禁止商业用途!同名 GZH 请关注!

  • 相关阅读:
    家庭房产(PTA)
    涨知识!如何用9部分详细阐述Java虚拟机:JVM
    osgEarth示例分析——osgearth_tracks
    Vue2技能树(3)-声明式渲染、指令大全、生命周期函数
    【TEC100TAI-KIT】青翼科技基于复微青龙JFMQL100TAI的全国产化智能异构计算平台
    使用 Abp.Zero 搭建第三方登录模块(一):原理篇
    JavaScript系列之解构赋值
    情人节后属于单身狗的浪漫
    【机器学习实战】对加州住房价格数据集进行数据探索(读书笔记)
    CF1029E Tree with Small Distances
  • 原文地址:https://www.cnblogs.com/bilahepan/p/15914355.html
  • 最新文章
  • 沪漂五周年了:我越来越迷茫了
    Agentic Skill Routing 实战:别再把所有 Skill 塞进 AI Agent 上下文
    MySQL-Seconds_behind_master的精度误差
    [MAF预定义ChatClient中间件-03]CachingChatClient——利用缓存省钱省时间
    AI的至暗历史:从万众期待到被政府撤资,AI的两次死亡徘徊
    Agent OS :五种驯服不确定性的范式
    PortSwigger SQL注入LAB11
    数据库即时编译JIT
    [Begin]AI Learn Data Day 0
    深度学习进阶(二十七)现代 LLM 的核心架构设计其二:SwiGLU
  • 热门文章
  • 十款代码表白小特效 一个比一个浪漫 赶紧收藏起来吧!!!
    奉劝各位学弟学妹们,该打造你的技术影响力了!
    五年了,我在 CSDN 的两个一百万。
    Java俄罗斯方块,老程序员花了一个周末,连接中学年代!
    面试官都震惊,你这网络基础可以啊!
    你真的会用百度吗?我不信 — 那些不为人知的搜索引擎语法
    心情不好的时候,用 Python 画棵樱花树送给自己吧
    通宵一晚做出来的一款类似CS的第一人称射击游戏Demo!原来做游戏也不是很难,连憨憨学妹都学会了!
    13 万字 C 语言从入门到精通保姆级教程2021 年版
    10行代码集2000张美女图,Python爬虫120例,再上征途
小工具 小游戏
Copyright © 2022 侵权请联系2656653265@qq.com    京ICP备2022015340号-1

京公网安备 11010502049817号