linux-进程管理-系统监控


系统监控

top

Top命令用于按一定的顺序显示所有正在运行而且处于活动状态的实时进程,而且会定期更新显示结果。这条命令显示了CPU的使用率、内存使用率、交换内存使用大小、高速缓存使用大小、缓冲区使用大小,进程PID、所使用命令以及其他。它还可以显示正在运行进程的内存和CPU占用多的 情况。

不同类unix系统的top命令展示的形式可能差距较大,这里以centos 为例

常用操作

top

Tasks:   3 total,   1 running,   2 sleeping,   0 stopped,   0 zombie
%Cpu(s):  0.1 us,  0.3 sy,  0.0 ni, 99.6 id,  0.0 wa,  0.0 hi,  0.0 si,  0.0 st
MiB Mem :   1991.1 total,   1163.7 free,    310.9 used,    516.5 buff/cache
MiB Swap:   1024.0 total,   1024.0 free,      0.0 used.   1540.0 avail Mem

  PID USER      PR  NI    VIRT    RES    SHR S  %CPU  %MEM     TIME+ COMMAND
    1 root      20   0   14976   3608   3092 S   0.0   0.2   0:00.02 bash
   14 root      20   0   15096   3660   3092 S   0.0   0.2   0:00.04 bash
   90 root      20   0   51396   4204   3548 R   0.0   0.2   0:00.00 top

lsof

lsof是系统管理/安全的尤伯工具。将这个工具称之为lsof真实名副其实,因为它是指“列出打开文件(lists openfiles)”。而有一点要切记,在Unix中一切(包括网络套接口)都是文件

lsof可以用来查看网络连接信息、用户操作信息、进程操作文件信息等等。

下面列举一些我们可能会用到的命令

lsof -i:8080
COMMAND  PID  USER   FD   TYPE             DEVICE SIZE/OFF NODE NAME
nginx   5456 xxx    9u  IPv4 0xbad0cf03482acd25      0t0  TCP *:http-alt (LISTEN)
# 查询端口占用信息
lsof -iTCP
#查询正在使用TCP的连接 、或者iUDP
lsof abc.txt
#查看正在使用某文件的进程
lsof -c command
#查询command进程正在使用的文件
lsof -d 4
#查看正在使用fd=4的进程
lsof +d /usr/local/ 
#显示目录下被进程开启的文件
lsof +D /usr/local/
#同上,但是会搜索目录下的目录,时间较长
lsof -p 20
#查看 进程号 = 12 的进程打开了哪些文件

netstat

Linux netstat 命令用于显示网络状态。

利用 netstat 指令可让你得知整个 Linux 系统的网络情况。

netstat -i
#查看网卡信息
netstat -nat | grep -i "80" | wc -l
#统计80端口连接数

参数:

  • -a或–all 显示所有连线中的Socket。
  • -A<网络类型>或–<网络类型> 列出该网络类型连线中的相关地址。
  • -c或–continuous 持续列出网络状态。
  • -C或–cache 显示路由器配置的快取信息。
  • -e或–extend 显示网络其他相关信息。
  • -F或–fib 显示路由缓存。
  • -g或–groups 显示多重广播功能群组组员名单。
  • -h或–help 在线帮助。
  • -i或–interfaces 显示网络界面信息表单。
  • -l或–listening 显示监控中的服务器的Socket。
  • -M或–masquerade 显示伪装的网络连线。
  • -n或–numeric 直接使用IP地址,而不通过域名服务器。
  • -N或–netlink或–symbolic 显示网络硬件外围设备的符号连接名称。
  • -o或–timers 显示计时器。
  • -p或–programs 显示正在使用Socket的程序识别码和程序名称。
  • -r或–route 显示Routing Table。
  • -s或–statistics 显示网络工作信息统计表。
  • -t或–tcp 显示TCP传输协议的连线状况。
  • -u或–udp 显示UDP传输协议的连线状况。
  • -v或–verbose 显示指令执行过程。
  • -V或–version 显示版本信息。
  • -w或–raw 显示RAW传输协议的连线状况。
  • -x或–unix 此参数的效果和指定”-A unix”参数相同。
  • –ip或–inet 此参数的效果和指定”-A inet”参数相同。

iotop

磁盘IO分析命令,当我们想要查看 机器 IO使用情况时可以使用

iotop -oP
Total DISK read: 0.00 B/s | Total DISK write: 0.00 B/s 
TID PRIO USER DISK READ DISK WRITE SWAPIN IO> command 
1 be/4 root 0.00 B/s 0.00 B/s 0.00 % 0.00 % init [3] 
2 be/4 root 0.00 B/s 0.00 B/s 0.00 % 0.00 % [kthreadd] 
3 rt/4 root 0.00 B/s 0.00 B/s 0.00 % 0.00 % [migration/0]
4 be/4 root 0.00 B/s 0.00 B/s 0.00 % 0.00 % [ksoftirqd/0] 
5 rt/4 root 0.00 B/s 0.00 B/s 0.00 % 0.00 % [watchdog/0] 
6 rt/4 root 0.00 B/s 0.00 B/s 0.00 % 0.00 % [migration/1] 
7 be/4 root 0.00 B/s 0.00 B/s 0.00 % 0.00 % [ksoftirqd/1] 
8 rt/4 root 0.00 B/s 0.00 B/s 0.00 % 0.00 % [watchdog/1] 
9 be/4 root 0.00 B/s 0.00 B/s 0.00 % 0.00 % [events/0] 
10 be/4 root 0.00 B/s 0.00 B/s 0.00 % 0.00 % [events/1] 
11 be/4 root 0.00 B/s 0.00 B/s 0.00 % 0.00 % [khelper] 
2572 be/4 root 0.00 B/s 0.00 B/s 0.00 % 0.00 % [bluetooth]

Categories:

Tags:

No Responses

发表回复

您的电子邮箱地址不会被公开。