Freeman's Blog

一个菜鸡心血来潮搭建的个人博客

0%

常用命令

进程管理

ps

  • 查看进程信息
    • ps -aux/ps -ef:查看所有进程
    • -p [pid]: 查看指定PID的进程

      top/htop

  • 动态地展示Linux进程运行情况。包括PID、用户、内存占用率、CPU占用率、启动命令等信息。

pstree

  • 将所有进程以树状图显示。

虚拟内存管理

vmstat

  • 查看虚拟内存状态

    进程状态procs

  • r:运行队列中的内核线程数目
  • b:等待队列中的内核线程数目

    内存状态memory

  • swpd: 虚拟内存大小(k)
  • free: 空闲内存大小(k)
  • buff: 已经使用的buff大小(读写缓冲区)
  • cache: 已经使用的cache大小
  • inact: 非活跃内存大小,可以回收的内存
  • active: 活跃内存大小

    交换空间状态swap

  • si: 每秒从交换区写入内存的大小
  • so: 每秒从内存写到交换区的大小

    IO

  • bi:每秒读取的块数(包括磁盘在内的所有块设备)
  • bo:每秒写入的块数(包括磁盘在内的块数量)

    系统调用情况system

  • in: 每秒中断数,包括时钟中断
  • cs:每秒上下文切换数:系统调用和进程/线程切换需要进行上下文切换。值太大时要考虑减少进程或线程的数目

    CPU(单位百分比)

  • us:用户进程消耗CPU时间
  • sy:系统进程消耗CPU时间
  • id:空闲时间
  • wa:等待IO时间

网络相关

lsof

  • List Open Files, 展示打开的文件。文件可以是一个普通文件,一个目录,一个库,一个网络文件(例如socket)
    • -i [地址]:列出所有文件,IP地址和指定参数匹配。如果不指定参数,则选出所有的网络文件。
      • [4/6][protocol][@hostname|hostaddr][:service|port]:可以指定过滤参数。[4/6]指IP版本
    • -p [pid]: 查看指定进程已经打开的文件
    • -c [command]: 选出指定命令正在使用的文件

netstat

  • 显示网络连接、路由表、接口信息、多播成员等。
    • -t: 只显示TCP连接
    • -u:只显示UDP连接
    • -l:只展示listening的socket
    • -a:展示listening和non-listening的socket
    • -n:显示数字地址(numerical address)
    • -p:显示socket所属的PID和进程的名称