8-23上课笔记
- 使用w查看系统负载
- vmstat命令
- top命令
- sar命令
- nload命令
- 监控io性能
- free命令
- ps命令
- 查看网络状态
- linux下抓包
- Linux网络相关
1 使用w查看系统负载
w,红色表示系统运行时间
0.20 1分钟,0.11 5分钟系统负载
Top命令也可以查看系统负载,第一行与w的相同
也可以用uptime
cat /proc/cpuinfo processor为0代表单核CPU
Uname –a 版本信息
uname –r
lsb_release可以查看操作系统版本
2,vmstat命令
当系统负载偏高时 ,使用vmstat命令查看
r列表示有多少进程在run(运行)的状态;
b代表cpu以外的资源被其他进程占用;
swpd当内存不够时数值会发生变化;
si代表有多少kb的数据从swp进入到内存中;
bi代表从磁盘中出来到内存中去,bo代表写入的数据量数值大小代表磁盘数据的读写频率
3,top命令
主要关注us的值(代表cpu使用率)
RES代表物理内存的大小,单位是k字节。
默认按cpu占用大小排序,但是按M可以按内存占用大小查看排序。
按P切换回cpu占用排序;
按1可以显示所有cpu的使用值
top -c 可以查看具体进程路径
wa 系统缓存占用率
top -bn1可以静态显示所有进程,否则每3秒滚动一次
buffer读缓存,写缓冲,buffer位于硬盘和内存之间,缓冲速率比缓存慢很多
cache(一级二级缓存) 内存和cpu之间
4,sar命令
安装命令yum install y sysstat
sar -n DEV 查看网卡流量,可以看到每10分钟写一次
rx代表接收到的数据包,tx是发送出去的数据包。
rxpck数值几千的值大概是正常的,上万的话可能被攻击了
sar –q查看系统负载
Sar –b查看磁盘负载
/var/log/sa目录下sa文件不可以直接cat,sar文件可以直接cat查看
5.nload命令
安装noload前要安装epel-release
安装命令yum install epel-release 这个是centos的扩展包
源中是没有直接的rpm包的,需要从其他源下载安装
yum provides "/*/nload"
再装 就行了
Q退出
6.监控io性能
iostat -x查看磁盘使用
io百分比表示等待执行的进程,wkb数值很大的话说明硬盘可能有故障
iotop命令可以查看磁盘实时读写速率
需要安装iotop
yum install -y iotop
iotop不能跟c,注意
7.free命令
free:未被使用的buffers 与cache 和未被分配的内存之和,这就是系统当前实际可用内存。 free 2= buffers1 + cached1 + free1 //free2为第二行、buffers1等为第一行
磁盘-->内存(cache缓存)-->cpu;cpu-->内存(buff缓冲)-->磁盘
8.ps命令
ps命令用来查看系统进程
ps -aux 和ps –elf类似都是查看所有的进程信息
Ps –c sshd可以查看当前进程的pid,用kill可以直接杀死进程
进程说明:
D是不能中断的进程;
R run状态下的进程;
S sleep状态下的进程;
T 暂停的进程;
Z 僵尸进程;
< 高优先级的进程;
N 低优先级进程;
s 主进程;
l 多线程进程;
+ 前台进程
9.查看网络状态
netstat -lnp
sockets是uninx用户互相通信的文件(同网段)
netstat -an查看 tcp/ip状态
ss -an和 netstat -an用法相似但是比netstat更快
tcp/ip的三次握手,四次挥手
进程和线程的区别
10.Linux下抓包
主要工具tcpdump
tcpdump -nn 命令表示用数字显示ip地址的端口号;用来看数据的流向
-i表示指定网卡
例如指定22端口抓包,可以用-w 保存
-c 10代表10M
tcpdump -r来读取抓来的包
tshark命令可查看指定网卡80端口web的访问情况;类似于web的访问日志
11.Linux网络相关
Ifconfig查看网口
ifup可以启动网卡,ifdown可以关闭网卡远程操作不可恢复
查看网卡是否连接mii-tool命令;无法使用的话就用ethtool命令
修改主机名
DNS配置文件
cat /etc/resolv.conf,可以用vim直接编辑文件
host文件,修改host可以让同样的网站访问不同地址,只在本机生效
TCP连接进程
最开始的时候客户端和服务器都是处于CLOSED状态。主动打开连接的为客户端,被动
打开连接的是服务器。
1. TCP服务器进程先创建传输控制块TCB,时刻准备接受客户进程的连接请求,此时服务器就进入了LISTEN(监听)状态;
2. TCP客户进程也是先创建传输控制块TCB,然后向服务器发出连接请求报文,这是报文首部中的同部位SYN=1,同时选择一个初始*** seq=x,此时,TCP客户端进程进入了 SYN-SENT(同步已发送状态)状态。TCP规定,SYN报文段(SYN=1的报文段)不能携带数据,但需要消耗掉一个序号。
3. TCP服务器收到请求报文后,如果同意连接,则发出确认报文。确认报文中应该 ACK=1,SYN=1,确认号是ack=x+1,同时也要为自己初始化一个*** seq=y,此时,TCP服务器进程进入了SYN-RCVD(同步收到)状态。这个报文也不能携带数据,,但是同样要消耗一个序号。
4. TCP客户进程收到确认后,还要向服务器给出确认。确认报文的ACK=1,ack=y+1,自己的***seq=x+1,此时,TCP连接建立,客户端进入ESTABLISHED(已建立连接)状态。TCP规定,ACK报文段可以携带数据,但是如果不携带数据则不消耗序号。
5. 当服务器收到客户端的确认后也进入ESTABLISHED状态,此后双方就可以开始通信了