linux复盘:基础篇三(平常运维工具)

w查看系统负载mysql

load average:1 分钟内系统的平均负载值,1分钟以内有多少个进程和任务在使用cpu计算排队nginx

查看服务器cpu状况 cat /proc/cpuinfo processor : 0 处理器逻辑CPU个数0单核sql

负载太高,就要想办法查看什么进程引发的负载高,要调整优化。top看哪一个进程排在最上面,最上面的说明耗费cpu比较多,针对那个进程去优化。好比mysql占用cpu高,那么就去查看mysql的慢查询日志,看看是否是能够经过优化sql语句来提高mysql的查询效率,这样就降下来了。 若是即便调优了仍是高,说明cpu不够用啦,只能增长机器扩容。缓存

 vmstat 1 5服务器

r run 1秒内运行和等待CPU时间片的进程数,这个值若是长期大于系统CPU个数,就说明CPU资源不足,能够考虑增长CPU网络

b block 被阻塞的,表示等待资源的进程数,任务数据等待写入磁盘,被I/O阻塞的任务有多少,网络、磁盘、I/O都有关,这列值若是长时间大于1,须要关注一下tcp

si 交换分区写入内存的数据量优化

so 内存写入到交换分区的数据量ui

以上两个数值一直是0,或者很小很小的值,没有说明变化,很稳定,说明内存够;若是长期大于0,并且不断的变化,说明内存不够日志

sy system 显示系统花费 cpu 时间百分比。就是系统内核本身的服务耗费的

id 不使用的剩余的停顿的cpu,空闲的,这里us+sy+id=100%

wa wait 表示I/O(网络或者磁盘)等待所占用cpu 时间百分比(比较有用)

top

top 查看进程使用资源状况,具体查看是哪个进程致使的内存不够与磁盘读写太高

top -c 能够看到具体命令全局目录

top -bn1 列出全部进程

sar(比较全面的狠角色外号瑞士军刀)

若是没有安装包:yum -install sysstat

sar -n DEV 查看网卡流量

sar -n DEV 1 10 每秒显示一次,共显示10次

sar -n DEV -f /var/log/sa/sa17 查看17日的网卡流量历史

ar -q 查看历史负载

sar -b 查看磁盘读写

sar -p 能够显示cpu

rxpck/s 每秒接收的包的数量(接收的包过量并且并不是传送数据可能为攻击)

txpck/s 每秒发出的包的数量

rxKB/s 每秒接收的数据量,单位KByte 1KB=1000byte=8000bit

txKB/s 每秒发出的数据量,单位KByte

nload

是监控网卡流量,首先安装epel-release,而后安装nload

Incoming进来的 Outgoing出去的 买带宽是指出去的带宽

若是有攻击,进来的流量会不少

free查看内存使用状况

total内存总大小,used使用了多少,free内存剩余多少,shared共享的(不关注),buff/cache缓冲缓存,系统会把内存分出来给这它们,available=free+没用完到的buff+cache

ps监控系统

用法一:

ps aux | grep nginx 查看一个进程有没有在运行

用法二:

ps -elf 列出全部进程

PID杀死一个进程,就用kill+PID数字,kill -9 xxx

检查系统状态

netstat 查看网络状态

netstat -lnp 查看监听端口

netstat -an 查看系统的网络状态

netstat -lntp 只查看tcp的端口

tcpdump抓包

用法最多:tcpdump -nn

两个n指用ip的形式显示出来 原ip原端口>现ip现端口

length 0 检查这个数字,DDos攻击,有一种udp flood攻击,300G的攻击

tcpdump -nn -i ens33 指定网卡的名字

tcpdump -nn port 80 指定端口来抓包

tcpdump -nn not port 22 and host 192.168.0.100

也能够排除某有个端口,和只要某一个ip的包,这个ip能够是源端口的或者是现端口的

tcpdump -nn -c 100 -w 1.cap 指定只抓100个-c,存到一个文件里去-w(/tmp/1.cap)

相关文章
相关标签/搜索