ps 命令
1、linux风格打印所有进程:
ps -A ps -e
2、BSD风格打印所有的进程
ps au ps aux
3、完整格式
ps -ef
4、常用组合
#查看CPU的详细信息 cat /proc/cpuinfo #查看内存的详细信息 cat /proc/meminfo #查看使用内存前10的进程 ps -eo pid,ppid,cmd,%mem,%cpu --sort=-%mem | head #查看使用CPU前10的进程 ps -eo pid,ppid,cmd,%mem,%cpu --sort=-%cpu | head #每隔1秒查看使用内存前10的进程 watch -n 1 'ps -eo pid,ppid,cmd,%mem,%cpu --sort=-%mem | head' #监控网络流量 iftop -i eth0 -t -s 30 -L 100
如何查看 Linux 下内存占用率
我们可以使用下面命令的组合来达到此目的。在该方法中,我们使用的是 free 和 awk 命令的组合来获取内存占用率。
要获取不包含百分比符号的内存占用率:
free -t | awk 'NR ==2 {print "Current Memory Utilization is: "$3/$2*100}'
或
free -t | awk 'FNR ==2 {print "Current Memory Utilization is: "$3/$2*100}'
Current Memory Utilization is : 18.0433
要获取包含百分比符号及保留两位小数的内存占用率:
#free -t | awk 'NR == 2 {printf("Current Memory Utilization is : %.2f%"), $3/$2*100}' 或 #free -t | awk 'FNR == 2 {printf("Current Memory Utilization is : %.2f%"), $3/$2*100}'
dmidecode # 查看硬件层面信息
#查看服务器型号 dmidecode | grep 'Product Name' #查看主板的序列号 dmidecode | grep 'Serial Number' #查看系统序列号 dmidecode -s system-serial-number #查看内存信息 dmidecode -t memory #现有内存数量和内存大小 dmidecode | grep -A16 "Memory Device" | grep "Size" | sed 's/^[ \t]*//' #最大支持内存容量 dmidecode | grep "Maximum Capacity" |sed "s/^[\t]*//'
查看网卡总线
lshw -class net -businfo
查看硬件信息
#查看内存信息 cat /proc/meminfo #查看内存型号 dmidecode -t memory #查看cpu 信息 cat /proc/cpuinfo
查看硬盘信息 (只能在裸机的linux系统下查看)
smartctl -a /dev/sda hdparm -i /dev/sda
du命令
#查看当前目录大小。不包括隐藏文件和文件夹 du -sh * #查看当前目录大小。包括隐藏文件和文件夹 du -sh ./* #查看当前目录大小,并展示最近更新时间 du -sh * --time #查看当前目录大小,并排序 du -sh * |sort -rh #查看当前目录大小,展示最近更新时间,并排序 du -sh * --time | sort -rh
top命令
top命令选项
-b
:以批处理模式操作;
-c
:显示完整的治命令;
-d
:屏幕刷新间隔时间;
-I
:忽略失效过程;
-s
:保密模式;
-S
:累积模式;
-i<时间>
:设置间隔时间;
-u<用户名>
:指定用户名;
-p<进程号>
:指定进程;
-n<次数>
:循环显示的次数。
top命令交互
Z:修改颜色配置;
B:关闭/开启粗体
l:隐藏/显示第1行负载信息;
t:隐藏/显示第2~3行CPU信息;
m:隐藏/显示第4~5行内存信息;
1:单行/多行显示CPU信息;
I:Irix/Solaris模式切换
f:列显示控制;
o:列排序控制,按字母进行调整
F or O :选择排序列
<,> :上下移动内容
R:内容排序;
H:显示线程
c:COMMAND列命令名称与完整命令行路径切换;
i:忽略闲置和僵死进程开关;
S:累计模式切换
x:列排序;
y:运行任务
z:颜色模式;
b:粗体开关 仅适用于x,y模式中
u :按用户进行过滤,当输入错误可按Ctrl + Backspace进行删除
n or # :设置进程最大显示条数
k:终止一个进程;
r:重新设置一个进程的优先级别
d or s : 改变两次刷新之间的延迟时间(单位为s),如果有小数,就换算成ms。输入0值则系统将不断刷新,默认值是5s;
W: 将当前设置写入~/.toprc文件中 q : Quit 退出
按CPU使用率排序
按 (Shift+P) 对进程CPU利用率进行排序
按内存使用率排序
按 (Shift+O) 对进程内存使用进行排序。
过滤进程
进入top后,按下o后,会让你输入过滤条件,输入COMMAND=nginx,现在就只剩下模糊匹配nginx关键字的进程了
不要显示空闲进程
打开top,会有下面一大堆的空闲进程显示着,有点干扰我们的视线。只要按下i,直接过滤掉空闲进程
ps -au 或 ps aux
前者注意显示终端的进程,而aux是显示所有的进程,不过其属性列显示的一样
对于的属性都是什么意思呢?
USER:进程的拥有者。 PID: 进程的id值 %CPU:占用的cpus使用率 %MEM:占用内存的使用率 VSZ:占用的虚拟内存的大小 RSS:占用的内存大小 STAT:进程的状态D:无法中断的休眠状态 (通常 IO 的进程)R:正在执行中S:静止状态T:暂停状态Z:不存在但暂时无法消除W:没有足够的内存分页可分配<:高优先级的进程N:低优先级的进程L:有内存分页分配并锁在内存内s:表示进程是控制进程l:表示进程是多线程+:表示当前进程运行再前台 START: 行程开始时间 TIME: 执行的时间 COMMAND:所执行的指令,也就是执行的进程名