• 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. type、object和class的关系

  2. 遍历目录下的所有文件-os.walk

    #coding:utf-8 import os for root,dirs,files in os.walk("D:"): for fileItem in files: print ...

  3. 基于jQuery自适应宽度跟高度可自定义焦点图

    基于jQuery自适应宽度跟高度可自定义焦点图.这是一款带左右箭头,缩略小图切换的jQuery相册代码.效果图如下: 在线预览   源码下载 实现的代码. html代码: <section cl ...

  4. 火狐FireFox57不支持Tab Mix Plus插件的问题

    火狐的Tab Mix Plus插件管理标签页很好用,但是在这次升级到57版本后不能用了,也没找到合适的替代品. 该插件一个很常用的功能是在新建的标签页打开网页(而不是在当前页上跳转),该功能直接修改C ...

  5. Writing your first Django

    Quick install guide 1.1   Install Python, it works with Python2.6, 2.7, 3.2, 3.3. All these version ...

  6. SpringMVC @SessionAttributes 使用详解以及源码分析

    @sessionattributes @Target({ElementType.TYPE}) @Retention(RetentionPolicy.RUNTIME) @Inherited @Docum ...

  7. c++--------获取某个路径下所有文件的文件名,读写TXT文件到新的文件

    好久没写io操作了,手生了好多,为了防止自己老年痴呆,最简单实用的c++代码也push上来吧, 环境:mac,xcode(注意mac环境下Windows的函数不能用) 功能:打开一个文件目录,把所有文 ...

  8. drupal7 的核心模块

    核心模块 Drupal 7 block Block(区块)模块提供了与区块相关的功能,通过区块可将内容放置在网站不同区域.Block模块是Drupal的基础模块之一,不能被禁用.它是通过单独的区块管理 ...

  9. 理解ThreadPoolExecutor源代码(二)execute函数的巧妙设计和阅读心得

    ThreadPoolExecutor.execute()源代码提供了大量凝视来解释该方法的设计考虑.以下的源代码来自jdk1.6.0_37 public void execute(Runnable c ...

  10. 汉字转拼音首字母的java实现

    工作中经常会遇到的一些排序问题,比如 按汉字的拼音首字母排序,比如人名排序等,就要用到下面的方法了,思路: 1. 获得汉字 2. 将汉字转换成首字母,并记录下(必要时保存到数据库) 3. 按首字母进行 ...