查看资源占用
查看资源占用
Linux下常用的查看资源占用量的工具汇总。cpu、内存等。
ps
查看进程、进程号。
RSS,也就是物理内存占用,单位是KB。RSS是常驻内存集(Resident Set Size),表示该进程分配的内存大小。RSS不包括进入交换分区的内存。RSS包括共享库占用的内存(只要共享库在内存中)RSS包括所有分配的栈内存和堆内存。
ps aux |grep xxx
#其中rsz是实际内存
ps -e -o 'pid,comm,args,pcpu,rsz,vsz,stime,user,uid'
ps -e -o 'pid,comm,args,pcpu,rsz,vsz,stime,user,uid' | grep oracle | sort -nrk5
pmap
可以根据进程查看进程相关信息占用的内存情况,(进程号可以通过ps查看)如下所示:
pmap -d 14596
top
top命令是Linux下常用的性能分析工具,能够实时显示系统中各个进程的资源占用状况,类似于Windows的任务管理器。可以直接使用top命令后,查看%MEM的内容。可以选择按进程查看或者按用户查看,如想查看oracle用户的进程内存使用情况的话可以使用如下的命令:
$ top -u oracle
内容解释
PID:进程的ID
USER:进程所有者
PR:进程的优先级别,越小越优先被执行
NInice:值
VIRT:进程占用的虚拟内存
RES进程占用的物理内存
SHR:进程使用的共享内存
S:进程的状态。S表示休眠,R表示正在运行,Z表示僵死状态,N表示该进程优先值为负数
%CPU:进程占用CPU的使用率
%MEM:进程使用的物理内存和总内存的百分比
TIME+:该进程启动后占用的总的CPU时间,即占用CPU使用时间的累加值。
COMMAND:进程启动命令名称
常用的命令:
P:按%CPU使用率排行
T:按MITE+排行
M:按%MEM排行
htop
htop可以说是上面刚提到的top工具命令的“进化版本”,它的一大特色在于可视化交互方面做得很优秀。它也是Linux系统下的一个交互式进程浏览器,可以替代上面的top命令,与top命令对比,htop有如下优点:
- 支持鼠标点按交互
- 画面可以水平/垂直滚动,更像一个窗口
- 可以跟踪进程,显示进程打开的文件等
- 支持进程的树状图显示
- 支持按名称查找进程
- …等等
总体可以分成三部分看:
顶部是资源使用总体概览,这进度条看着就挺酷炫
中间是进程表,和top命令的类似
下面是操作指引和快捷键,清晰明了
可以查看进程树状图,可以点击列头进行各类排序,可以选择某一个进程,按S键即可利用strace追踪进程的系统调用。
iftop
iftop是Linux系统上的网络流量和带宽监控工具,可用于查看(监控)实时的网络流量、网络TCP/IP连接等等,也是非常有用的!
iftop命令常用的可带参数如下,这里做个小规模总结:
- -i 指定网卡,如:iftop -i eth0
- -B 以bytes为单位显示,如:iftop -B
- -n host信息显示IP,如:iftop -n
- -N 端口信息显示端口号,如: iftop -N
- -F 指定网段,如iftop -F 10.10.1.0/24
- -h 帮助信息
- …
进入iftop视图画面后还有很多操作命令可用,具体指令可以随用随help,不过要注意区分大小写。
iotop
iotop 是一个可以用来进行磁盘I/O使用情况监控的工具命令,其UI界面和上面提到的几个top命令也都类似,包括进程表信息也都给了出来。
其实Linux下系统自带的IO统计工具也有不少,常用的就比如iostat等等,但是iotop命令可以很直接了当地查看到占用磁盘I/O的进程信息,比较直观且容易上手。
查看流量
sar -n DEV 1 100
1代表一秒统计并显示一次
100代表统计一百次