日常系统

linux

16-12-31 13:01:58


网络情况评估

ping IP 查看 丢包率和time值(网络延时情况) 


netstat -i 查看网络接口情况 

Iface 设备名称
MTU 最大传输单元

RX-OK 正常
RX-ERR 产生错误
RX-DRR 丢弃
RX-OVR 遗失
RX接收 TX发送
Flg M接受数据包 R正在运行 U处于活动 O禁用arp B设置了广播地址 L回环设备 netstat -r 查看路由

sar -n /DEV 3 3
IFACE 接口
rxpck 每秒接口数据大小
txpck 没秒发送数据大小
rxkb 每秒接收的字节数
txkb 每秒发送的字节数
rxcmp 每秒接受的压缩数据包
txcmp 每秒发送的压缩数据包
rxmcst 每秒接受的多播数据包

uptime



系统性能监控

free -h
total 总计 userd 用户使用 free 空闲 shared 多个进程共享内存 buffers 磁盘缓冲区 cached  磁盘缓存
Swap 交换空间  -/+buffers/cache 
userd=物理free +buffers+cached-物理使用内存
free=物理free +buffers+cached 

pstree  显示进程的树状图
-a        显示全部子线程及其参数
-c        显示全部子线程
-h        高亮显示当前进程及其祖先
-H 进程号 高亮显示 "进程号" 指定的进程当及其祖先
-l        不截断长行
-n        输出按进程号排序
-p        显示进程号;隐含 -c
-u        显示用户名变换
进程号    从 "进程号" 开始,缺省是1(init)
用户      仅显示从该 "用户" 的进程开始的进程树
-cpu  查看用户,pid,所有线程 
-alpu 查看线程参数 pid,用户 不截断
pstree -u mysql
pstrrr -p 1812


lsof 监控进程和文件

lsof 文件名    显示使用xxx文件的进程
lsof -c 进程   查看进程打开的文件
lsof -i tcp:80 查看某个端口

kill 类型 进程ID
-9 强制
-2 结束进程
-15 正常结束结束 默认值

kill 信号类型 进程名称
同上

定时执行

服务器性能
CPU  内存 IO读写 网络

vmstat 
vastat 3 3 3秒更新一次,更新3次

iostat 
iostat -k 单位是kb为单位
isstat 5  一直执行 5秒更新一次 

sar

-u CPU采样
-d 硬盘采样
-r 内存采样
-b 缓冲区采样

sar -u 3 5 查看CPU采样 3秒更新一次 显示5次

性能指标 
CPU user%+sys%<70%  >85% 坏  >90%糟糕
内存 Swap in (si) =0, Swap out (so)=0
iowait <20% iowait >35% 坏  >50% 很坏 
iowait CPU等待输入输出的完成时间百分比

内存 可用内存/物理内存<20% 就是比较紧张





vmstar 3 10 3秒刷新一次 运行10次
procs
r 运行和等待CPU时间片的进程数 长期大于cpu个数  说明cpu不足
b 表示正在等待资源的进程数 如正在等待I/O 或者内存交换
memory
swpd 表示切换到内存交换分区的内容数量(kb) 如果swpd不为0 is,so 长期为0 正常
free 空闲物理内存 
buff buffers cache的内存数量 一般对设备的读写才需要缓冲
cache page cache的内存数量 一般是文件系统的缓存 频繁访问的文件 如果cache的值比较大 IO 中的bi比较小 说明文件系统效率比

较好
SWAP
swap si 由磁盘调入内存  就是内存进入内存交换区的数量
swap so 内容调入磁盘 就是内存交换区进入内存的数据
一般情况si so 都是0  如果长期si so不为0 说明内存不足
IO
bi 表示从设备读入数据的总量  读磁盘(每秒KB)
bo 表示从写入到设备的数据总量  写磁盘(每秒KB)
bi+bo>1000 并且 wa值很多 表示需要提高磁盘的读写性能
system
in 表示在某一个时间间隔中观测到的每秒设备中断数
cs  表示没秒产生的上下分切换次数
值越大 内核小号的cpu时间越多
CPU
us 用户进程
sy 内核进程
id 空闲进程
wa IO等待所占用的cpu百分比 wa值越高 说明磁盘读写的瓶颈

安全防范

1 口令暴力破解    复杂密码 root禁止登陆 密钥登陆
2 拒绝服务器攻击   防火墙
3 应用程序漏洞   安全狗  web环境配置

禁止ping
限制sehll历史记录大小
删除不必要的用户和组
关系SElinux
备份 tar 或者 rsync


故障排查

1 硬件
2 网卡
3 IP DNS
4 服务是否正常
5 防火墙
6 网络情况






压力测试

/usr/bin/ab -c 500 -n 2000 http://linux.china.cn/index.php



locate 


运行locate httpd.conf,提示-bash: locate: command not found错误。则需要安装mlocate软件包:

yum install mlocate

搜索,提示locate: can not stat () `/var/lib/mlocate/mlocate.db': 没有那个文件或目录。忘生成数据库了,执行:

updatedb



top

-d 数值 刷新秒数 默认3
-c 显示详细命令路径
-s 安全模式 没有交互模式
-n 刷新次数 
-i 不显示闲置或者僵死进程

top - 11:17:16 up 17 days, 13:01,  1 user,  load average: 0.36, 0.51, 0.48
Tasks: 111 total,   1 running, 110 sleeping,   0 stopped,   0 zombie
Cpu(s):  0.5%us,  0.8%sy,  0.0%ni, 98.7%id,  0.0%wa,  0.0%hi,  0.0%si,  0.0%st
Mem:   3924516k total,  1920764k used,  2003752k free,   208092k buffers
Swap:        0k total,        0k used,        0k free,  1195872k cached

当前系统时间:11:17:16
系统运行 up 17 days, 13:01
当前登陆系统用户 1 user
当前系统负载 load average: 0.36, 0.51, 0.48 1分钟 5分钟 15分钟

当前进程总数 Tasks: 111 total
正在的运行   1 running
休眠的进程   110 sleeping
停止的进程   0 stopped
僵尸的进程   0 zombie

CPU
用户进程 0.5%us
系统进程 0.8%sy
用户进程优先级进程 0.0%ni
空闲进程  98.7%id
等待输入输出进程 0.0%wa

内存
系统物理内存   3924516k total
使用物理内存   1920764k used
空闲内存       2003752k free
缓冲区内存     208092k buffers

Swap交换分区
交换分区内存  0k total
使用内存      0k used
空闲内存      0k free
高速缓存      1195872k cached


PID 进程ID号
USER 进程所有者用户
PR 进程优先级
NI 优先级调整 负值高 正值低
VIRT 进程使用虚拟内存 
RES 进程使用物理内存 
SHR 共享内存大小 
S 进程状态 D 不可中断休眠状态 R 运行 S睡眠 T跟踪停止 Z僵死
%CPU CPU百分比 
%MEM 物理内存百分比
TIME+ 进程运行时间
COMMAND  命令或者路径

交互命令
k 输入PID  终止一个进程
i 切换显示闲置进程
s 改变刷新时间
c 切换显示完整目录
M 内存大小排序
P cpu大小排序
T 累计运行时间