• iostat

sysstat 包里面包括 sar 和 iostat

[root@centos7 ~]# iostat

Linux 3.10.0-693.2.2.el7.x86_64 (centos7.4) 2018年01月23日 _x86_64_ (1 CPU)

avg-cpu:  %user   %nice %system %iowait  %steal   %idle

0.41    0.00    0.27    0.01    0.00   99.31

Device:            tps    kB_read/s    kB_wrtn/s    kB_read    kB_wrtn

vda               0.25         2.04         2.25    1348209    1490248

iostat 1 一直循环显示磁盘信息

iostat  -x 磁盘使用

[root@centos7 ~]# iostat -x

Linux 3.10.0-693.2.2.el7.x86_64 (centos7.4) 2018年01月23日 _x86_64_ (1 CPU)

avg-cpu:  %user   %nice %system %iowait  %steal   %idle

0.41    0.00    0.27    0.01    0.00   99.31

Device:         rrqm/s   wrqm/s     r/s     w/s    rkB/s    wkB/s avgrq-sz avgqu-sz   await r_await w_await  svctm  %util

vda               0.00     0.07    0.04    0.21     2.04     2.25    34.40     0.00   11.22   15.07   10.48   0.46   0.01

Device:  sda,sdb,vda 磁盘

rkB/s    wkB/s 读写速度

一个重要的指标:%util

%util 表示等待磁盘io百分比

iotop 查看哪一个进程在读写磁盘

yum install  -y  iotop

iotop 磁盘使用

[root@centos7 ~]# iotop

Total DISK READ : 0.00 B/s | Total DISK WRITE :       0.00 B/s

Actual DISK READ: 0.00 B/s | Actual DISK WRITE:       0.00 B/s

TID  PRIO  USER     DISK READ  DISK WRITE  SWAPIN     IO>    COMMAND

1 be/4 root        0.00 B/s    0.00 B/s  0.00 %  0.00 % systemd --switched-root --system --deserialize 21

  • free

free查看内存使用情况

[root@centos7 ~]# free -h

total        used        free      shared  buff/cache   available

Mem:           1.8G        530M        140M         14M        1.1G        1.1G

Swap:            0B          0B          0B

Mem 物理内存

swap交换分区

total :总共内存大小

used:使用的内存

free:剩余内存大小

buff:缓冲

cache : 缓存

buffer /cache区别:

从 磁盘读数据 ---> 内存 (cahche缓存)-----> cpu

cpu处理好的数据 ---> 内存 (buffer缓冲)----->磁盘

free -m / -g / -h

free -m  (MB)

free  -h(具体数据加上单位)

free  -g(GB)

内存总大小公式:total = used + free + buff /cache

avaliable 包含free和buffer/cache剩余部分

  • ps

ps查看系统进程

(ps意思是报告系统进程快照)

用法:ps aux、ps  -elf

ps aux 显示系统进程

[root@centos7 ~]# ps aux

USER       PID %CPU %MEM    VSZ   RSS TTY      STAT START   TIME COMMAND

root         1  0.0  0.2  43388  3824 ?        Ss   1月15   0:03 /usr/lib/systemd/systemd --switched

root         2  0.0  0.0      0     0 ?        S    1月15   0:00 [kthreadd]

root         3  0.0  0.0      0     0 ?        S    1月15   0:10 [ksoftirqd/0]

....

ps aux |grep nginx 列出当前系统进程中的nginx进程

[root@centos7 ~]# ps aux |grep nginx

root     11881  0.0  0.0 112676   984 pts/0    R+   17:55   0:00 grep --color=auto nginx

root     28467  0.0  0.1 122908  2268 ?        Ss   1月20   0:00 nginx: master process nginx

nginx    28468  0.0  0.1 123296  3588 ?        S    1月20   0:00 nginx: worker process

kill pid  杀死某个进程

PID 是进程号

查看进程从哪里启动的

ls /proc/进程号(每一个进程都有一个目录)/

ls /proc/505/

STAT部分说明

D不能中断的进程

R run状态的进程

S  sleep状态的进程

T 暂停的进程

Z 僵尸进程

< 高优先级进程

N 低优先级进程

L 内存中被锁了内存分页

S 主进程

| 多线程进程

+ 前台进程

什么原因产生僵尸进程?

当父进程被意外中断,单独留下子进程,这些子进程被称为僵尸进程。

多线程进程:

进程是程序的一次运行,一个进程包含多个线程。

暂停进程

[root@centos7 ~]# vmstat 1

procs -----------memory---------- ---swap-- -----io---- -system-- ------cpu-----

r  b   swpd   free   buff  cache   si   so    bi    bo   in   cs us sy id wa st

3  0      0 141648  52672 1144972    0    0     2     2   41   30  0  0 99  0  0

0  0      0 141648  52672 1144972    0    0     0     0  176  345  0  1 99  0  0

0  0      0 141648  52672 1144972    0    0     0     8  171  336  1  0 99  0  0

0  0      0 141260  52672 1144972    0    0     0     0  168  352  0  0 100  0  0

0  0      0 141248  52672 1144972    0    0     0     0  162  368  0  0 100  0  0

^Z

[1]+  已停止               vmstat 1

[root@centos7 ~]# ps aux |grep vmstat

root     21417  0.0  0.0 148316  1376 pts/0    T    19:13   0:00 vmstat 1

  • netstat 查看网络状态

netstat -lnp 查看监听端口

netstat -ltnp 只查看tcp端口

netstat -ltunp 只查看tcp,udp端口

netstat -an 查看系统的网络连接状况

netstat  -lntp 只看tcp的,不包含socket

ss -an 和netstat 异曲同工

技巧:

netstat -an |awk '/^tcp/{++sta[$NF]}END{for(key in sta) print key,"\t",sta[key]}'

[root@centos7 ~]# netstat -an |awk '/^tcp/{++sta[$NF]}END{for(key in sta) print key,"\t",sta[key]}'

LISTEN  3

ESTABLISHED  3

  • tcpdump

安装yum install  -y tcpdump

抓包工具:tcpdump

用法:tcpdump -nn

第一个n 表示用ip显示出来,如果不加n,就会显示主机名

监听指定网卡

tcpdump -nn -i eth0

[root@centos7 ~]# tcpdump -nn -i eth0

监听指定端口

监听80 web 端口

[root@centos7 ~]# tcpdump -nn port  80

监听网卡eth0 端口80

[root@centos7 ~]# tcpdump -nn -i eth0  port 80

不监听22端口的

tcpdump  -nn -i etho not port 22

指定某个IP的包,不包括22端口

tcpdump -nn -i eth0 not port 22 and host 192.168.1.1

抓100个包放到/tmp/1.cap里面

tcpdump  -nn  -i  eth0  -c 100 -w  /tmp/1.cap

[root@centos7 ~]# tcpdump -nn -i eth0 -c 100 -w /tmp/1.cap

tcpdump: listening on eth0, link-type EN10MB (Ethernet), capture size 262144 bytes

100 packets captured

102 packets received by filter

0 packets dropped by kernel

读取抓取保存的包文件1.cap

[root@centos7 ~]# tcpdump -r /tmp/1.cap

Wire shark抓包

[root@centos7 ~]# yum install -y wireshark

wireshark里面的tshark命令

可以清楚的看到哪个IP来访问我的网站,访问我网站里面什么内容。

tshark -n -t a -R http.request -T fields -e "frame.time" -e "ip.src" -e

"http.host" -e "http.request.method" -e "http.request.uri"

10.6 监控io性能 10.7 free命令 10.8 ps命令 10.9 查看网络状态 10.10 linux下抓包的更多相关文章

  1. 监控io性能、free、ps命令、查看网络状态、Linux下抓包 使用介绍

    第7周第2次课(5月8日) 课程内容: 10.6 监控io性能 10.7 free命令10.8 ps命令10.9 查看网络状态10.10 linux下抓包扩展tcp三次握手四次挥手 http://ww ...

  2. Linux centos7日常运维——监控io性能、free内存命令、ps进程命令、查看网络状态、linux下抓包

    一.监控io性能 Linux系统出现了性能问题,一般我们可以通过top.iostat.free.vmstat等命令来查看初步定位问题.其中iostat可以给我们提供丰富的IO状态数据. iostat ...

  3. 10.8 ss:查看网络状态

    ss命令 是类似并将取代netstat的工具,它能用来查看网络状态信息,包括TCP.UDP连接.端口等.它的优点是能够显示更多更详细的有关网络连接状态的信息,而且比netstat更快速更高效.    ...

  4. 10.7 netstat:查看网络状态

    netstat命令 用于显示本机网络的连接状态.运行端口和路由表等信息. netstat命令的参数选项及说明 -r 显示路由表信息,该功能类似于前面学过的route 和ip route-g 显示多播功 ...

  5. 测网速 fping Linux查看网络即时网速 linux性能问题(CPU,内存,磁盘I/O,网络)

    Linux查看网络即时网速 fping 是ping 工具的加强版本 例出局域网中存活的主机 (Ubuntu apt-get装上  cnetos装不上) zzx@zzx11:~$ fping -a 19 ...

  6. Performance Monitor4:监控SQL Server的IO性能

    SQL Server的IO性能受到物理Disk的IO延迟和SQL Server内部执行的IO操作的影响.在监控Disk性能时,最主要的度量值(metric)是IO延迟,IO延迟是指从Applicati ...

  7. Linux下的IO监控与分析

    Linux下的IO监控与分析 近期要在公司内部做个Linux IO方面的培训, 整理下手头的资料给大家分享下 各种IO监视工具在Linux IO 体系结构中的位置 源自 Linux Performan ...

  8. linux 下取进程占用 cpu/内存 最高的前10个进程

    linux下获取占用CPU资源最多的10个进程,可以使用如下命令组合: ;|head linux下获取占用内存资源最多的10个进程,可以使用如下命令组合: ;|head 命令组合解析(针对CPU的,M ...

  9. Linux下iftop网卡流量监控使用

    在类linux系统中可以使用top查看系统资源.进程.内存占用等信息.查看网络状态可以使用netstat.nmap等工具.若要查看实时的网络流量,监控TCP/IP连接等,则可以使用iftop. 一.i ...

随机推荐

  1. 【JDK】各个版本垃圾收集器

    G1收集器(Garbage First)是Java虚拟机中垃圾收集器的一种. G1收集器是Java虚拟机的垃圾收集器理论进一步发展的产物,它与前面的CMS收集器相比有两个显著的改进:一是G1收集器是基 ...

  2. Cents os 7下如何安装bzip2

    # Cents os 7下如何安装bzip2 ### 安装```yum search bzip2  //查询安装包 yum -y install bzip2.x86_64 ``` ### 原因---- ...

  3. Virtual DOM 虚拟DOM的理解(转)

    作者:戴嘉华 转载请注明出处并保留原文链接( #13 )和作者信息. 目录: 1 前言 2 对前端应用状态管理思考 3 Virtual DOM 算法 4 算法实现 4.1 步骤一:用JS对象模拟DOM ...

  4. python MQTT 出现TypeError: payload must be a string, bytearray, int, float or None.

    原因, MQTT 发布信息,是不能发布 对象的,只能发布 字符串,整形,浮点型这样的 解决方法 self.__mqtt__.publish("computex/iot/5100/DataTr ...

  5. PostgreSQL学习手册(数据表)<转>

    一.表的定义: 对于任何一种关系型数据库而言,表都是数据存储的最核心.最基础的对象单元.现在就让我们从这里起步吧.    1. 创建表:    CREATE TABLE products (      ...

  6. Github ——转

    Github 简明教程 分类 编程技术 如果你是一枚Coder,但是你不知道Github,那么我觉的你就不是一个菜鸟级别的Coder,因为你压根不是真正Coder,你只是一个Code搬运工. 但是你如 ...

  7. angula学习

    入门 http://www.angularjs.cn/A004 http://www.cnblogs.com/whitewolf/p/angularjs-start.html http://www.n ...

  8. UEFI Protocol

    MEM_INFO_PROTOCOL MEM_INFO_PROTOCOL; EFI_LOADED_IMAGE_PROTOCOL EFI_DEVICE_PATH_PROTOCOL EFI_DRIVER_B ...

  9. 关于C#单例Singleton的看法和使用

    首先明白一点,什么是单例模式? 单例模式是指一个类在一个应用程序运行时仅仅实例化一次,以后所有的调用都使用第一次实例化的对象,是应用程序级别的,与session,用户等无关,它比全局参数或静态类方式更 ...

  10. Extjs4.x treegrid,check-tree,locked getChecked() 方法错误

    当在treegrid中,锁定treecolumn列的时候,是无法通过执行getView().getChecked()获取选中的节点的,这是tree的一个bug, 详见:http://www.sench ...