linux日常运维1

1 使用w查看系统负载

[root@localhost ~]# w
 13:53:11 up 1 day, 23:26,  1 user,  load average: 0.00, 0.01, 0.05
USER     TTY      FROM             LOGIN@   IDLE   JCPU   PCPU WHAT
root     pts/0    115.181.80.249   11:15    7.00s  0.07s  0.00s w

第一行显示系统时间、当前运行时间、目前登录用户、系统负载

  • load average: 0.00, 0.01, 0.05

这三个数字分别表示1分钟、5分钟、15分钟之内,系统的负载分别是多少。主要是注意第一个负载值,值越大说明服务器压力越大。一般情况下,这个值不要超过服务器的逻辑cpu数量就没有关系。

  • cat /proc/cpuinfo  //查看cpu核数;processor值为0代表单核cpu。

  • uptime 查看系统负载(就是w命令的第一行,主要还是以w命令为主)


2.vmstat命令

当系统负载偏高时,使用vmstat命令查看

  • r 列表示有多少进程在run(运行)的状态;
  • b 代表cpu以外的资源被其他进程占用;
  • swpd 当内存不够时数值会发生变化;
  • si 代表有多少kb的数据从swp进入到内存中;
  • bi 代表从磁盘中出来到内存中去,bo代表写入的数据量数值大小代表磁盘数据的读写频率;
  • us 表示用户级别的一些资源占用的cpu百分比;
  • us +sy +id =100;
  • wa 代表等待cpu的百分比。

3.top命令

top命令查看进程使用资源情况(动态显示)
zombie僵尸进程表示主进程被以外终止,子进程只好自生自灭......

主要关注us的值(代表cpu使用率)
RES代表物理内存的大小,单位是k字节。
默认按cpu占用大小排序

按M以内存占用大小查看排序。

按P切换回cpu占用排序;

扫描二维码关注公众号,回复: 3425168 查看本文章

按1可以显示所有cpu的使用值。

top -c 可以查看具体进程路径

top -bn1可以静态显示所有进程


 4.sar命令

  • 用sar命令几乎可以监控系统所有的资源状态。它的优点是可以打印历史信息,可以显示当天从零点到当前时刻的系统状态信息。
yum install -y sysstat  //安装sar命令包

安装后使用sar命令会报错,那么因为sar工具还没有生成相应的数据库文件(无需实时监控,因为不用去查询那个文件库)。大约10分钟后会生成文件。 

  • sar -n DEV 查看流量网卡 

rx代表接收到的数据包,tx是发送出去的数据包。
rxpck数值几千的值大概是正常的,上万的话可能被攻击了

  • sar -q可以查看系统负载

  • sar -b可以查看磁盘负载

/var/log/sa目录下sa文件不可以直接cat,sar文件可以直接cat查看


 5.nload命令

nload可以动态显示网卡平均速度

安装noload前要安装epel-release

 yum install -y epel-release
 yum install -y nload

按方向键可以查看其它网卡的网速,q退出。


6.监控io性能

  • iostat -x查看磁盘使用

io百分比表示等待执行的进程,wkb数值很大的话说明硬盘可能有故障

  • iotop命令查看磁盘实时读写速率


7.free命令

free命令查看内存使用情况

第一列是内存的总大小,单位是kb(可以使用free -h 人性话显示);
第二列是使用了多少;
第三列是剩余内存数量;
buff/cache(缓冲和缓存)是预分配内存的量;

avaliable是预分配和没有完的内存

磁盘-->内存(cache缓存)-->cpu;cpu-->内存(buff缓冲)-->磁盘


8.ps命令

  • ps命令用来查看系统进程

  • ps auxps -elf用法类似,查看所有运行的进程

  • ps -C 进程名 查看系统里是否有这个进程

D是不能中断的进程;R run状态下的进程;
S sleep状态下的进程;
T 暂停的进程;
Z 僵尸进程;
< 高优先级的进程;
N 低优先级进程;
s 主进程;
l 多线程进程;
+ 前台进程。


9.查看网络状态

  • netstat命令查看网络状态,常用选项是-lnp

sockets是uninx用户互相通信的文件(同网段)


10.Linux下抓包

  • tcpdump命令抓包

tcpdump -nn 命令表示用数字显示ip地址的端口号;用来看数据的流向

tcpdump -nn port * 指定端口

抓取指定数量的数据包并且存到指定文件目录下;不能直接去解析。。

tcpdump -r来读取抓来的包


11.Linux网络相关

  • ifconfig查看网卡ip

  • ifup可以启动网卡,ifdown可以关闭网卡远程操作不可恢复。
ifdown ens33 && ifup ens33
  • 看网卡是否连接mii-tool命令;无法使用的话就用ethtool命令

  • 修改主机名

  • DNS配置文件
cat /etc/resolv.conf
# Generated by NetworkManager
nameserver 114.114.114.114
  • host文件,修改host文件可以改dns解析,只在本机生效


课堂笔记:

lscpu 也可以查看CPU的信息

uname -a 查看系统信息

uname -r 查看内核版本

lspci -k 查看硬件驱动信息

cat /proc/meminfo 查看内存信息

ip命令使用
1. 设置和删除IPip addr add 192.168.10.10/24
dev eth0
ip addr show eth0
ip addr del 192.168.10.10/24
dev eth0
2. 路由相关设置
ip route show
ip route add default via 192.168.10.1
ip route add 192.168.5.0/24 dev eth0
ip route del 192.168.10.1
另外用route命令来管理路由:
(a)、网络路由
# route add -net 192.168.1.0/24 gw 172.16.1.106
(b)、主机路由
# route add -host 192.168.1.110 gw 172.16.1.106
(c)、默认路由
# route add default gw 172.16.1.106

# route add -net 0.0.0.0 gw 172.16.1.106
(d)、删除路由
# route del -host 192.168.1.110
# route del -net 192.168.1.0/24
3. 显示网络统计数据
ip -s link
ip -s -s link ls eth0
3. 停止开启网卡
ip link set eth0 down
ip linke set eth0 up

Cache:缓存区,是高速缓存,是位于CPU和主内存之间的容量较小但速度很快的存储器

Buffer:缓冲区,用于存储速度不同步的设备或优先级不同的设备之间传输数据

si 有多少k的块数据,从swap进入到内存中 

so 有多少k的块数据,从内存中进入到swap

进程和线程的区别:

线程和进程是另一对有意义的概念,主要区别和联系如下:

  • 进程是操作系统进行资源分配的基本单位,拥有完整的进程空间。进行系统资源分配的时候,除了CPU资源之外,不会给线程分配独立的资源,线程所需要的资源需要共享。
  • 线程是进程的一部分,如果没有进行显示的线程分配,可以认为进程是单线程的;如果进程中建立了线程,则可认为系统是多线程的。
  • 多线程和多进程是两种不同的概念。多线程与多进程有不同的资源共享方式。
  • 进程有进程控制块PCB,系统通过PCB对进程进行调度。进程有线程控制块TCP,但TCB所表示的状态比PCB要少的多。

TCP建立连接的三次握手

TCP释放连接的四次挥手

猜你喜欢

转载自blog.csdn.net/xzl18779631005/article/details/82014683