赞
踩
##使用w查看系统负载
命令:w
[root@shuai-01 ~]# w
18:49:35 up 8:21, 2 users, load average: 0.00, 0.01, 0.05
USER TTY FROM LOGIN@ IDLE JCPU PCPU WHAT
root tty1 10:33 8:15m 0.09s 0.09s -bash
root pts/0 192.168.176.1 10:28 7.00s 0.25s 0.07s w
第一行显示信息为:当前时间,系统运行时间,登录用户数,负载。其中负载分为一分钟内负载,五分钟内负载,十五分钟负载。这个值越大表示服务器压力越大。如何看这个值是否合理:值不超过系统CPU数量就是合理的。CPU数值计算式,个数乘核数
tty: 表示本地连接,用tty
pts:表示远程连接
查看CPU数量:
[root@shuai-01 ~]# cat /proc/cpuinfo processor : 0 vendor_id : GenuineIntel cpu family : 6 model : 69 model name : Intel(R) Core(TM) i5-4210U CPU @ 1.70GHz stepping : 1 microcode : 0x17 cpu MHz : 2393.737 cache size : 3072 KB physical id : 0 siblings : 1 core id : 0 cpu cores : 1 apicid : 0 initial apicid : 0 fpu : yes fpu_exception : yes cpuid level : 13 wp : yes flags : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush dts mmx fxsr sse sse2 ss syscall nx pdpe1gb rdtscp lm constant_tsc arch_perfmon pebs bts nopl xtopology tsc_reliable nonstop_tsc aperfmperf eagerfpu pni pclmulqdq ssse3 fma cx16 pcid sse4_1 sse4_2 x2apic movbe popcnt tsc_deadline_timer aes xsave avx f16c rdrand hypervisor lahf_lm abm ida arat epb pln pts dtherm fsgsbase tsc_adjust bmi1 avx2 smep bmi2 invpcid xsaveopt bogomips : 4789.01 clflush size : 64 cache_alignment : 64 address sizes : 42 bits physical, 48 bits virtual power management:
processor 表示CPU数量 ,这里0就表示1个CPU,1就表示2个CPU。
##vmstat监测系统状态
命令:vmstat
命令格式:vmstat 1 (表示每一秒输出一次)
命令格式:vmstat 1 5 (表示每秒输出一次,输出五次)
[root@shuai-01 ~]# vmstat
procs -----------memory---------- ---swap-- -----io---- -system-- ------cpu-----
r b swpd free buff cache si so bi bo in cs us sy id wa st
2 0 0 687708 876 185256 0 0 4 1 22 36 0 0 100 0 0
查看cpu ,内存,磁盘,进程。重点关注:r , b , si , so ,bi , bo .这几项。
##top显示进程所占的系统资源
top命令用于动态监控进程所占系统资源,每三秒变一次。
命令:top
[root@shuai-01 ~]# top
top - 20:38:17 up 10:10, 2 users, load average: 0.00, 0.01, 0.05
Tasks: 93 total, 1 running, 92 sleeping, 0 stopped, 0 zombie
%Cpu(s): 0.0 us, 0.0 sy, 0.0 ni,100.0 id, 0.0 wa, 0.0 hi, 0.0 si, 0.0 s
KiB Mem : 999936 total, 687144 free, 126388 used, 186404 buff/cache
KiB Swap: 2097148 total, 2097148 free, 0 used. 688144 avail Mem
第一行和w命令看的一样。第二行:总任务,正在运行任务,休眠,停止,僵尸进程(父进程停止,子进程还在运行)
按内存大小排序:输入一个M
按CPU大小排序:输入一个P
RES:使用的物理内存的大小,单位是K
top -c 更加详细的command显示
542 root 20 0 302776 6204 4736 S 0.3 0.6 1:15.08 /usr/bin/+
2566 root 20 0 157616 2200 1596 R 0.3 0.2 0:00.08 top -c
1 root 20 0 128104 6704 3956 S 0.0 0.7 0:02.95 /usr/lib/+
top -bn1 非动态打印系统资源的使用情况,一次性将所有进程打印出来
[root@shuai-01 ~]# top -bn1
top - 20:47:26 up 10:19, 2 users, load average: 0.00, 0.01, 0.05
Tasks: 92 total, 2 running, 90 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
KiB Mem : 999936 total, 687036 free, 126496 used, 186404 buff/cache
KiB Swap: 2097148 total, 2097148 free, 0 used. 688036 avail Mem
PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND
1 root 20 0 128104 6704 3956 S 0.0 0.7 0:02.95 systemd
2 root 20 0 0 0 0 S 0.0 0.0 0:00.02 kthreadd
##sar命令监控系统状态
sar可以监控系统所有的资源状态,负载,网卡流量,磁盘状态,内存使用等。
经常使用的是让它查看网卡的流量
先安装
[root@shuai-01 ~]# yum install -y sysstat
安装完成后就能使用sar命令了。sar会每隔十分钟(整点的十分钟)把系统的状态抓一边,保存在/var/log/sa文件中,文件命名以sa加每天的日期,每个三十天清空一次。
/var/log/sa/sa27(二进制文件)这里的二进制文件可以用sar查看
/var/log/sa/sar27(可以用cat查看)
命令 sar
选项
-f 查看某一天的历史数据。后接历史数据库文件
查看网卡流量
sar -n DEV
[root@shuai-01 ~]# sar -n DEV 1 3
Linux 3.10.0-514.el7.x86_64 (shuai-01) 2017年11月27日 _x86_64_ (1 CPU)
21时10分34秒 IFACE rxpck/s txpck/s rxkB/s txkB/s rxcmp/s txcmp/s rxmcst/s
21时10分35秒 lo 0.00 0.00 0.00 0.00 0.00 0.00 0.00
21时10分35秒 ens33 1.96 1.96 0.11 0.22 0.00 0.00 0.00
21时10分35秒 IFACE rxpck/s txpck/s rxkB/s txkB/s rxcmp/s txcmp/s rxmcst/s
21时10分36秒 lo 0.00 0.00 0.00 0.00 0.00 0.00 0.00
21时10分36秒 ens33 1.00 1.00 0.06 0.38 0.00 0.00 0.00
sar查看网卡流量,没一秒钟刷新一次,刷新三次。
IFACE (网卡) rxpck/s (接收到的数据包)txpck/s(发送的数据包) rxkb/s(接收到的数据量) txkb/s(发送的数据量)
接受到的数据包。几千是正常的,几万,几十万就不正常了,可能是被攻击了。
查看某一天的历史流量
[root@shuai-01 ~]# sar -n DEV -f /var/log/sa/sa27
Linux 3.10.0-514.el7.x86_64 (shuai-01) 2017年11月27日 _x86_64_ (1 CPU)
21时00分01秒 IFACE rxpck/s txpck/s rxkB/s txkB/s rxcmp/s txcmp/s rxmcst/s
21时10分01秒 lo 0.00 0.00 0.00 0.00 0.00 0.00 0.00
21时10分01秒 ens33 0.44 0.29 0.04 0.03 0.00 0.00 0.00
21时20分01秒 lo 0.00 0.00 0.00 0.00 0.00 0.00 0.00
21时20分01秒 ens33 0.12 0.09 0.01 0.02 0.00 0.00 0.00
平均时间: lo 0.00 0.00 0.00 0.00 0.00 0.00 0.00
平均时间: ens33 0.28 0.19 0.02 0.02 0.00 0.00 0.00
查看历史负载
sar -q
[root@shuai-01 ~]# sar -q
Linux 3.10.0-514.el7.x86_64 (shuai-01) 2017年11月27日 _x86_64_ (1 CPU)
21时00分01秒 runq-sz plist-sz ldavg-1 ldavg-5 ldavg-15 blocked
21时10分01秒 1 111 0.00 0.01 0.05 0
21时20分01秒 1 110 0.00 0.01 0.05 0
平均时间: 1 110 0.00 0.01 0.05 0
同理 也可以查看历史负载
[root@shuai-01 ~]# sar -q -f /var/log/sa/sa27
Linux 3.10.0-514.el7.x86_64 (shuai-01) 2017年11月27日 _x86_64_ (1 CPU)
21时00分01秒 runq-sz plist-sz ldavg-1 ldavg-5 ldavg-15 blocked
21时10分01秒 1 111 0.00 0.01 0.05 0
21时20分01秒 1 110 0.00 0.01 0.05 0
平均时间: 1 110 0.00 0.01 0.05 0
##nload监控网卡流量
安装nload 包,安装之前先安装epal-release包
[root@shuai-01 ~]# yum install -y epel-release
[root@shuai-01 ~]# yum install -y nload
命令:nload
Device ens33 [192.168.176.135] (1/2): =============================================================================== Incoming: Curr: 936.00 Bit/s Avg: 1.02 kBit/s Min: 920.00 Bit/s Max: 1.80 kBit/s Ttl: 12.18 MByte Outgoing: Curr: 7.73 kBit/s Avg: 7.12 kBit/s Min: 3.67 kBit/s Max: 7.80 kBit/s Ttl: 2.49 MByte
第一行显示的是网卡,进来的流量,出去的流量。
Curr:当前的量
Avg: 平均值
Min:最小值
Max:最大值
Ttl:总量
##监控磁盘使用
命令:iostat
这个命令是在安装软件包sysstat的时候安装上的命令
查看磁盘的使用情况,着重看%util这项,表示io等待,值越大表示磁盘越忙。
[root@shuai-01 ~]# iostat -x
Linux 3.10.0-514.el7.x86_64 (shuai-01) 2017年11月28日 _x86_64_ (1 CPU)
avg-cpu: %user %nice %system %iowait %steal %idle
1.90 0.00 2.18 1.66 0.00 94.26
Device: rrqm/s wrqm/s r/s w/s rkB/s wkB/s avgrq-sz avgqu-sz await r_await w_await svctm %util
sdb 0.00 0.00 0.31 0.00 1.92 0.00 12.33 0.00 13.14 13.14 0.00 11.42 0.36
sda 0.00 0.06 6.46 2.69 204.21 68.73 59.63 0.14 14.94 13.02 19.56 4.59 4.20
dm-0 0.00 0.00 0.06 0.00 0.47 0.00 15.20 0.00 8.27 8.27 0.00 8.18 0.05
查看io最高的进程iotop
安装iotop包
[root@shuai-01 ~]# yum install -y iotop
##free查看内存使用情况
命令:free
命令格式:free [选项]
选项:
-m 用M显示单位
-g 用G做单位
-h 用合适的做单位
[root@shuai-01 ~]# free -h
total used free shared buff/cache available
Mem: 976M 119M 546M 6.7M 310M 673M
Swap: 2.0G 0B 2.0G
计算机组成原理中:磁盘和CPU的读取速度差太多了。中间需要一个高速存储器来平衡一下。
buff 表示(即将写入磁盘的)缓冲大小
cache 表示(从磁盘中读取的)内存大小
cache和buffer都是内存分出来的一部分。
total = used + free + cache + buffer
##ps命令查看进程
查看linux系统有哪些进程在运行,就像Windows的任务管理器一样
命令:ps
静态显示全部进程
[root@shuai-01 ~]# ps aux USER PID %CPU %MEM VSZ RSS TTY STAT START TIME COMMAND root 1 0.0 0.6 128104 6708 ? Ss 08:38 0:05 /usr/lib/syst root 2 0.0 0.0 0 0 ? S 08:38 0:00 [kthreadd] root 3 0.0 0.0 0 0 ? S 08:38 0:01 [ksoftirqd/0] root 6 0.0 0.0 0 0 ? S 08:38 0:01 [kworker/u256 root 7 0.0 0.0 0 0 ? S 08:38 0:00 [migration/0] root 8 0.0 0.0 0 0 ? S 08:38 0:00 [rcu_bh] root 9 0.0 0.0 0 0 ? R 08:38 0:01 [rcu_sched] root 10 0.0 0.0 0 0 ? S 08:38 0:00 [watchdog/0] root 12 0.0 0.0 0 0 ? S< 08:38 0:00 [khelper] root 13 0.0 0.0 0 0 ? S 08:38 0:00 [kdevtmpfs] root 14 0.0 0.0 0 0 ? S< 08:38 0:00 [netns] root 15 0.0 0.0 0 0 ? S 08:38 0:00 [khungtaskd] root 16 0.0 0.0 0 0 ? S< 08:38 0:00 [writeback] root 17 0.0 0.0 0 0 ? S< 08:38 0:00 [kintegrityd] root 18 0.0 0.0 0 0 ? S< 08:38 0:00 [bioset] root 19 0.0 0.0 0 0 ? S< 08:38 0:00 [kblockd] root 20 0.0 0.0 0 0 ? S< 08:38 0:00 [md]
##查看网络状态
netstat 命令用来打印网络情况,系统开放端口,路由表等信息。
打印当前系统开启那些端口
[root@shuai-01 ~]# netstat -lnp Active Internet connections (only servers) Proto Recv-Q Send-Q Local Address Foreign Address State PID/Program name tcp 0 0 0.0.0.0:22 0.0.0.0:* LISTEN 1368/sshd tcp 0 0 127.0.0.1:25 0.0.0.0:* LISTEN 1974/master tcp6 0 0 :::22 :::* LISTEN 1368/sshd tcp6 0 0 ::1:25 :::* LISTEN 1974/master udp 0 0 127.0.0.1:323 0.0.0.0:* 541/chronyd udp6 0 0 ::1:323 :::* 541/chronyd raw6 0 0 :::58 :::* 7 588/NetworkManager Active UNIX domain sockets (only servers) Proto RefCnt Flags Type State I-Node PID/Program name Path unix 2 [ ACC ] STREAM LISTENING 12581 1/systemd /run/lvm/lvmetad.socket unix 2 [ ACC ] STREAM LISTENING 19828 1974/master public/pickup unix 2 [ ACC ] STREAM LISTENING 19834 1974/master public/cleanup unix 2 [ ACC ] STREAM LISTENING 19837 1974/master
打印网络的连接状况
[root@shuai-01 ~]# netstat -an Active Internet connections (servers and established) Proto Recv-Q Send-Q Local Address Foreign Address State tcp 0 0 0.0.0.0:22 0.0.0.0:* LISTEN tcp 0 0 127.0.0.1:25 0.0.0.0:* LISTEN tcp 0 52 192.168.176.135:22 192.168.176.1:50396 ESTABLISHED tcp6 0 0 :::22 :::* LISTEN tcp6 0 0 ::1:25 :::* LISTEN udp 0 0 127.0.0.1:323 0.0.0.0:* udp6 0 0 ::1:323 :::* raw6 0 0 :::58 :::* 7 Active UNIX domain sockets (servers and established) Proto RefCnt Flags Type State I-Node Path unix 2 [ ACC ] STREAM LISTENING 12581 /run/lvm/lvmetad.socket unix 2 [ ACC ] STREAM LISTENING 19828 public/pickup unix 2 [ ACC ] STREAM LISTENING 19834 public/cleanup unix 2 [ ACC ] STREAM LISTENING 19837 public/qmgr unix 2 [ ACC ] STREAM LISTENING 19859 public/flush
TCP/IP三次握手四次挥手:
https://zhuanlan.zhihu.com/p/40013850
查看tcp连接状态
[root@shuai-01 ~]# netstat -an | awk '/^tcp/ {++sta[$NF]} END {for(key in sta) print key,"\t",sta[key]}'
LISTEN 4
ESTABLISHED 1
##tcpdump 抓包
命令:tcpdump
安装
[root@shuai-01 ~]# yum install -y tcpdump
抓网卡的包:
[root@shuai-01 ~]# tcpdump -nn -i ens33
22:33:15.760001 IP 192.168.176.135.22 > 192.168.176.1.50396: Flags [P.], seq 280912:281188, ack 53, win 308, length 276
22:33:15.760297 IP 192.168.176.1.50396 > 192.168.176.135.22: Flags [P.], seq 53:105, ack 280912, win 158, length 52
第一列:时间
第三列第四列:源IP+port 连接ip +port
抓端口的包:
[root@shuai-01 ~]# tcpdump -nn port 80
抓那个地址的不是22端口的包:
[root@shuai-01 ~]# tcpdump -nn not port 22 and host 192.168.172.135
抓100个包保存在那个文件:
[root@shuai-01 ~]# tcpdump -nn -c 100 -w /tmp/1.cap
查文件 -r:
[root@shuaiaoli ~]# tcpdump -r /tmp/1.cap
wireshark工具抓包
安装wireshake
yum install -y wireshake
用法:
[root@shuai-01 ~]# tshark -n -t a -R http.request -T fields -e "frame.time" -e "ip.sre" -e "http.host" -e "http.request.method" -e "http.request.uri"
实际中,抓包分析:
主要是看源ip,源port,目标ip,目标port,还有协议之类的。再深入的就得借助图形化的抓包工具去分析了。
##ifconfig查看网卡
ifconfig是在centos6中查看网卡的命令,在centos7中要安装net-tools包后才能使用
网卡配置文件:/etc/sysconfig/network-scripts/ifcfg-ens33
命令:ifconfig
[root@shuai-01 ~]# ifconfig ens33: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500 inet 192.168.176.135 netmask 255.255.255.0 broadcast 192.168.176.255 inet6 fe80::16f5:8ee4:b971:e6fb prefixlen 64 scopeid 0x20<link> ether 00:0c:29:a1:0e:2c txqueuelen 1000 (Ethernet) RX packets 236 bytes 23351 (22.8 KiB) RX errors 0 dropped 0 overruns 0 frame 0 TX packets 216 bytes 25791 (25.1 KiB) TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0 lo: flags=73<UP,LOOPBACK,RUNNING> mtu 65536 inet 127.0.0.1 netmask 255.0.0.0 inet6 ::1 prefixlen 128 scopeid 0x10<host> loop txqueuelen 1 (Local Loopback) RX packets 68 bytes 5524 (5.3 KiB) RX errors 0 dropped 0 overruns 0 frame 0 TX packets 68 bytes 5524 (5.3 KiB) TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
关闭网卡:
ifdown ens33
启动网卡:
ifup ens33
关闭网卡时,是无法远程连接的。特别是正在使用该网卡时。
想重启某个网卡:
[root@shuai-01 ~]# ifdown ens33 && ifup ens33
成功断开设备 'ens33'。
成功激活的连接(D-Bus 激活路径:/org/freedesktop/NetworkManager/ActiveConnection/1)
想重启网络服务:
service restrat network
##给一个网卡设置多个ip
一个网卡是可以设置多个IP的,给一块网卡设置一个虚拟IP
进入网卡配置文件并拷贝一份配置文件
[root@shuai-01 ~]# cd /etc/sysconfig/network-scripts/
[root@shuai-01 network-scripts]# ls
ifcfg-ens33 ifdown-ppp ifup-ib ifup-Team
ifcfg-lo ifdown-routes ifup-ippp ifup-TeamPort
ifdown ifdown-sit ifup-ipv6 ifup-tunnel
ifdown-bnep ifdown-Team ifup-isdn ifup-wireless
ifdown-eth ifdown-TeamPort ifup-plip init.ipv6-global
ifdown-ib ifdown-tunnel ifup-plusb network-functions
ifdown-ippp ifup ifup-post network-functions-ipv6
ifdown-ipv6 ifup-aliases ifup-ppp
ifdown-isdn ifup-bnep ifup-routes
ifdown-post ifup-eth ifup-sit
[root@shuai-01 network-scripts]# cp ifcfg-ens33 ifcfg-ens33\:0
vi新的配置文件更改信息:NAME,DEVICE,IPADDR
NAME=ens33:0
DEVICE=ens33:0
IPADDR=192.168.176.150
GATEWAY ,DNS不要修改
保存退出后重启网卡:
[root@shuai-01 network-scripts]# ifdown ens33 && ifup ens33
##查看网卡的连接状态
命令:mii-tool (用于物理机)
[root@shuai-01 network-scripts]# mii-tool ens33
ens33: negotiated 1000baseT-FD flow-control, link ok
link ok 表示连接网线
命令:ethtool (用于虚拟机)
[root@shuai-01 network-scripts]# ethtool ens33 Settings for ens33: Supported ports: [ TP ] Supported link modes: 10baseT/Half 10baseT/Full 100baseT/Half 100baseT/Full 1000baseT/Full Supported pause frame use: No Supports auto-negotiation: Yes Advertised link modes: 10baseT/Half 10baseT/Full 100baseT/Half 100baseT/Full 1000baseT/Full Advertised pause frame use: No Advertised auto-negotiation: Yes Speed: 1000Mb/s Duplex: Full Port: Twisted Pair PHYAD: 0 Transceiver: internal Auto-negotiation: on MDI-X: off (auto) Supports Wake-on: d Wake-on: d Current message level: 0x00000007 (7) drv probe link Link detected: yes
link detected : yes 表示连接网线
更改主机名
命令:hostnamectl
命令格式:hostnamectl set-hostname 主机名
主机名的配置文件:/etc/hostname
##设置dns
dns配置文件:/etc/resolv.conf
查看dns配置文件:
[root@shuai-01 network-scripts]# cat /etc/resolv.conf
# Generated by NetworkManager
nameserver 119.29.29.29
更改dns及可以在网卡配置文件中更改,又可以在dns配置文件中更改
在网卡配置文件中加:
DNS2=8.8.8.8
在dns配置文件中(临时):
nameserver 8.8.8.8
自定义解析域名,在本机生效,定义完后,不用进过dns解析域名。
配置文件:/etc/hosts
添加一个解析域名:
[root@shuai-01 network-scripts]# vim /etc/hosts
添加解析域名:
192.168.172.3 www.baidu.com
193.168.176.56 www.qq.com www.hao123.com
ping:
[root@shuai-01 network-scripts]# ping www.baidu.com
PING www.baidu.com (192.168.172.3) 56(84) bytes of data.
[root@shuai-01 network-scripts]# ping www.qq.com
PING www.qq.com (193.168.176.56) 56(84) bytes of data.
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。