作用:显示、管理执行中的程序。
需要重点关注 %CPU、%Mem、Time、Command
CPU:自从上一次更新时到现在任务所使用的CPU时间占比
MEM:进程使用的可用物理内存占比
TIME:进程使用的总CPU时间,精确到0.01秒
COMMAND:进程所使用的命令
# 展示完整命令
top -c
# 设置更新次数(更新2次后就退出)
top -n 2
# 指定更新周期(每隔3秒刷新一次)
top -d 3
# 查看指定进程的信息,查看139进程号的信息
top -p 139
# 显示指定进程中线程的运行信息
top -Hp 139
作用:展示程序运行情况
# 全格式展示所有进程
ps -ef
# 显示较详细的信息,比如进程占用的cpu、内存等
ps -au
# 展示所有包含其它使用者的行程
ps -aux
作用:根据特定条件查询进程pid信息
# 展示命令行为java的进程的进程号
pgrep java
# 查找命令行为java的进程,并列出完整命令行
pgrep -a java
# 查看root用户运行的所有进程
pgrep -U root
# 组合使用
pgrep -a -U root
作用:查看内存信息
使用:cat /proc/meminfo
作用:查看内存运行情况
作用:全称virtual memory statistics虚拟内存统计,可对操作系统的虚拟内存、进程、io读写、cpu活动等
作用:展示磁盘使用情况
# 自动以合适的单位显示磁盘使用情况
df -h
# 查看gc.log文件所属的文件系统信息
df gc.log
# 指定输出格式
df --output=source,fstype,itotal,iused
作用:显示目录或文件大小
# 当前目录及子目录的大小,以及大小汇总
du
# 展示1.txt文件的大小
du 1.txt
# 自动以合适的单位显示目录大小
du -h some_dir
# 排除调>1000m的文件,展示当前目录及子目录的大小,以及汇总大小
du -t 1000m
# 以合适的单位显示指定目录的大小
du -sh some_dir
作用:展示网络状态
# 查看全部socket
netstat -a
# 查看使用tcp协议的网络信息
netstat -t
# 查看使用udp协议的网络信息
netstat -u
# 展示所有状态的tcp监听,并打印程序名称
netstat -antp
作用:显示和操作路由表
作用:查看网络相关信息
# 查看当前占用8080端口的进程信息
lsof -i:8080
# 列出所有打开的文件
lsof
# 递归查看test_dir目录及其文件的信息
lsof +D test_dir
# 查看mysql进程打开的文件
lsof -c mysql
# 查看mysql进程或java进程打开的文件
lsof -c mysql -c java
# 列出所有tcp连接
lsof -i tcp
# 列出所有udp连接
lsof -i udp
# 列出谁在用tcp协议使用8080端口
lsof -i tcp:8080