实时监控
top
能够实时监控系统运行状态,并且可以按照CPU及内存进行排序
top -h
procps-ng version 3.3.10
Usage:
top -hv | -bcHiOSs -d secs -n max -u|U user -p pid(s) -o field -w [cols]
top状态下按M
按内存使用率排序,按P
按CPU使用率排序,按1
可以显示每个CPU核心数使用率
top -Hp <pid>
显示进程号为pid的线程,可用于配合jstack
查看线程状态
vmstat
可以监控操作系统的进程状态、内存、虚拟内存、磁盘I/O、CPU等信息
vmstat -h
Usage:
vmstat [options] [delay [count]]
Options:
-a, --active active/inactive memory
-f, --forks number of forks since boot
-m, --slabs slabinfo
-n, --one-header do not redisplay header
-s, --stats event counter statistics
-d, --disk disk statistics
-D, --disk-sum summarize disk statistics
-p, --partition <dev> partition specific statistics
-S, --unit <char> define display unit
-w, --wide wide output
-t, --timestamp show timestamp
-h, --help display this help and exit
-V, --version output version information and exit
vmstat x1 x2
x1时间间隔、x2显示次数
free
监控系统内存使用状态
free -h
total used free shared buff/cache available
Mem: 7.6G 3.8G 489M 680K 3.4G 3.6G
Swap: 0B 0B 0B
mpstat
yum install -y sysstat
可以查看多核心CPU中每个计算核心的统计数据
netstat
网络状态监控
-n
拒绝显示别名
-l
仅列出Listen的服务状态
-p
显示建立相关链接的程序名
-t
显示TCP选项
-u
显示UDP选项
-i
显示自动匹配接口信息
netstat -ntlp
Active Internet connections (only servers)
Proto Recv-Q Send-Q Local Address Foreign Address State PID/Program name
tcp 0 0 127.0.0.1:8007 0.0.0.0:* LISTEN 8076/java
tcp 0 0 0.0.0.0:41192 0.0.0.0:* LISTEN 8076/java
tcp 0 0 0.0.0.0:8009 0.0.0.0:* LISTEN 17012/java
tcp 0 0 127.0.0.1:8106 0.0.0.0:* LISTEN 12678/java
tcp 0 0 0.0.0.0:10000 0.0.0.0:* LISTEN 12678/java
tcp 0 0 0.0.0.0:80 0.0.0.0:* LISTEN 12678/java
tcp 0 0 0.0.0.0:8080 0.0.0.0:* LISTEN 17012/java
tcp 0 0 0.0.0.0:10001 0.0.0.0:* LISTEN 17012/java
tcp 0 0 0.0.0.0:7443 0.0.0.0:* LISTEN 8076/java
tcp 0 0 0.0.0.0:22 0.0.0.0:* LISTEN 1108
netstat -i
Kernel Interface table
Iface MTU RX-OK RX-ERR RX-DRP RX-OVR TX-OK TX-ERR TX-DRP TX-OVR Flg
eth0 1500 47997308 0 0 0 24804064 0 0 0 BMRU
eth1 1500 43635510 0 0 0 32332245 0 0 0 BMRU
lo 65536 8000081 0 0 0 8000081 0 0 0 LRU
iostat
对磁盘IO进行监控,输出磁盘读写操作统计信息
sar
System Activity Reporter是目前Linux最为全面的系统性能分析工具之一,从多方面对系统的活动进行报告
-A
所有报告总和-u
CPU利用率-v
进程、节点、文件、锁表状态-r
显示系统内存使用情况-B
内存分页-b
缓冲区情况
strace
集诊断、调试、统计于一体的工具
-p
跟踪指定进程
crontab
Linux系统是由cron系统服务来控制的,使用者可以设置计划任务
crond -h
Usage:
crond [options]
Options:
-h print this message
-i deamon runs without inotify support
-m <comm> off, or specify prefered client for sending mails
-n run in foreground
-p permit any crontab
-P use PATH="/usr/bin:/bin"
-c enable clustering support
-s log into syslog instead of sending mails
-x <flag> print debug information
使用systemctl status crond
查看定时任务是否启动
systemctl status crond
● crond.service - Command Scheduler
Loaded: loaded (/usr/lib/systemd/system/crond.service; enabled; vendor preset: enabled)
Active: active (running) since Fri 2019-10-11 13:45:59 CST; 2 weeks 3 days ago
Main PID: 784 (crond)
CGroup: /system.slice/crond.service
└─784 /usr/sbin/crond -n
crontab -e
在编辑页面输入命令即可
基本格式:minute hour day mouth week command
第一列表示分钟00-59 每分钟用*
或*/1
表示
第二列表示小时 00-23
第三列表示日期01-31
第四列表示月份01-12
第五列表示星期0-6
第六列表示运行的命令
*
代表取值范围所有值
/
代表每的意思
-
代表从某个数字到某个数字
,
分割几个不同的数字