linux 学习随笔-系统日常管理常用命令

1:W 查看系统整体负载,无法查看具体负载,比如内存,磁盘
 23:25:20 up 13 min,  2 users,  load average: 0.00, 0.01, 0.01
USER     TTY      FROM              LOGIN@   IDLE   JCPU   PCPU WHAT
flex     tty1     -                23:13   12:08   0.01s  0.01s -bash
flex     pts/0    192.168.75.1     23:13    0.00s  0.02s  0.00s tmux
第一行显示了时间,系统运行时间,登陆用户数量,cpu负载:1分钟平均负载,5分钟平均负载,15分钟平均负载
负载值只要不超过cpu数量就正常
2:cat /etc/cpuinfo 可以查看cup信息
# cat /proc/cpuinfo |grep 'processor' Cpu数量
# grep -c 'physical id' /proc/cpuinfo 物理cpu数量
3:vmstat 可以监控系统的状态
# vmstat 1 5 1秒间隔输出5次
# vmstat 1 1秒间隔输出
procs -----------memory---------- ---swap-- -----io---- --system-- -----cpu-----
 r  b   swpd   free   buff  cache   si   so    bi    bo   in   cs us sy id wa st
 1  0      0 1643624  20552 105072    0    0    22     1   27   21  0  0 99  1  0
procs:显示进程相关信息
r 表示运行和等待cpu时间片的进程数量,大于cpu个数,说明cpu不够用了
b 表示等待资源的进程数,io 内存等,长期大于1,就会有问题
memory:内存信息
swpd 表示切换到内存分区的内存数量
free 空闲内存
buff 即将写入磁盘的缓冲大小
cache 从磁盘中读取的缓存大小
swap: 内存的交换情况
si 交换区写入内存的数据量
so 内存写入交换区的数据量
io:显示磁盘的使用情况
bi 读磁盘的数据量
bo 写磁盘的数据量
system: 显示采集间隔内发送的中断次数
in 某一时间间隔内观测到的每秒设备的中断次数
cs 每秒产生的上下文切换次数
cpu: 显示cpu使用状态
us 花费的cpu时间百分比
sy 系统花费cpu的时间比
id cup处于空闲状态的时间比
wa io等待占用的时间比
st 偷走的cpu所占时间比 一般为0
4 top: 动态监控系统进程所占用的资源,3秒变换一次 进入后shift+m 按内存排序 按1可以显示每颗cpu运行状态
#top -bn1 一次性打印出来,常用在shell中
top - 00:47:01 up  1:34,  2 users,  load average: 0.00, 0.00, 0.00 
Tasks: 152 total,   1 running, 151 sleeping,   0 stopped,   0 zombie
Cpu(s):  0.1%us,  0.1%sy,  0.0%ni, 99.8%id,  0.0%wa,  0.0%hi,  0.0%si,  0.0%st
Mem:   1906900k total,   268400k used,  1638500k free,    22432k buffers
Swap:  2031612k total,        0k used,  2031612k free,   107984k cached
 
   PID USER      PR  NI  VIRT  RES  SHR S %CPU %MEM    TIME+  COMMAND
    21 root      20   0     0    0    0 S  0.3  0.0   0:04.23 events/2
  1478 root      20   0  173m 8008 4504 S  0.3  0.4   0:08.93 vmtoolsd

load average 表示系统负载
Tasks 表示进程数量
进程列表中:主要关注 RES:经常占用内存大小 %cpu使用cpu %MEN 内存占用
5 sar命令 可以监控系统所有资源,还可以打印历史信息
查看网卡流量
#sar -n DEV
#sar -n DEV 1 5 查看实时的数据量 1秒一次
#sar -n DEV 1 查看实时数据量 无限刷新
#sar -n DEV -f /var/log/sa/sa30 查看历史数据流量 /var/log/sa/存放了日志文件
12:00:01 AM     IFACE   rxpck/s   txpck/s    rxkB/s    txkB/s   rxcmp/s   txcmp/s  rxmcst/s
12:10:01 AM        lo      0.00      0.00      0.00      0.00      0.00      0.00      0.00
12:10:01 AM      eth0      0.62      0.04      0.04      0.01      0.00      0.00      0.00
12:10:01 AM      eth1      0.59      0.01      0.04      0.00      0.00      0.00      0.00
 
 rxpck/s 表示每秒收包的数量
 txpck/s 表示每秒发包的数量
 rxkB/s 每秒收到的数据量
 txkB/s 每秒发送的数据量
5 free查看内存情况
             total       used       free     shared    buffers     cached
Mem:       1906900     274296    1632604        232      24268     111232
-/+ buffers/cache:     138796    1768104
Swap:      2031612          0    2031612
6 ps 查看系统进程
#ps aux |grep 'tmux'
可以显示进程状态
USER        PID %CPU %MEM    VSZ   RSS TTY      STAT START   TIME COMMAND
flex       2850  0.0  0.0  23712  1116 pts/0    S+   May29   0:00 tmux
flex       2852  0.0  0.1  26528  2068 ?        Ss   May29   0:05 tmux
flex       4502  0.0  0.0 103308   852 pts/1    S+   01:20   0:00 grep tmux
PID:进程的id kill -9 pid 可以杀死进程
STAT:表示进程的状态
D:表示不能中断的进程,通常为IO
R:表示正在运行中的进程
S:表示已经终端的进程,大多是进程都是这个状态
T:表示暂停的进程
s:表示主进程
+:表示前台运行的进程
 
7 #netstat -lnp 打印系统启动了那些端口
#netstat -an 打印网络连接状态
8 # tcpdump -nn -i eth1
抓包工具 -i后面接网卡
9 wireshark 抓包工具
# yum install wireshark 安装
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
上一篇:STL集合容器set按照由小到大或者由大到小的顺序存放元素


下一篇:树上战争(HDU 2545 并查集求解点到根节点长度)