第7周第2次课(5月8日)

课程内容:

10.6 监控io性能
10.7 free命令
10.8 ps命令
10.9 查看网络状态
10.10 linux下抓包
扩展tcp三次握手四次挥手 http://www.doc88.com/p-9913773324388.html
tshark几个用法:http://www.aminglinux.com/bbs/thread-995-1-1.html
 
10.6 监控io性能

[root@jimmylinux-002 ~]# iostat -x

查看磁盘io百分比,注意关注%util这一列,如果数字超过50%就说明有问题。

如果磁盘io很忙,读写很频繁,查看到底是那个进程频繁在读写,可以通过iotop命令查看,这个和top命令很像,都是动态显示。

默认没有iotop命令,需要先安装。

10.7 free命令

可以直接查看内存使用情况,在CentOS6和7显示是不同的,CentOS7里面会显示的更加直观。

第一行是一个说明

第二行是内存使用情况

第三行swap使用情况

[root@jimmylinux-002 ~]# free -h  可以更直观查看内存使用情况

正常情况下,已使用+空余=总大小,但是在Linux里面会把内存预先分配一部分出来给buff和cache。

数据流向:

①0000(磁盘)-->内存(cache)-->CPU  存放到硬盘的数据到CPU,中间需要经过内存保存下来,然后再到CPU,这个叫缓存cache。

②CPU(0000)-->内存(buff)-->硬盘     CPU计算好的数据存放到硬盘,中间需要经过内存保存下来,然后再到硬盘,这个叫缓冲buff。

由于数据流向不同,所以系统会把内存先预留一部分出来给buff和cache

total的公式=used+free+buff/cache

available包含free和buff/cache剩余部分

真正查看内存剩余,主要是看available,而不是直接查看free。

swap也需要关注,如果free剩余为0,说明内存不够了,或者内存泄漏,系统有bug,这个时候需要增加内存。

10.8 ps命令

[root@jimmylinux-002 ~]# ps aux

静态一次性把当前的所有进程使用情况列出来,ps和top显示结果很相像。

[root@jimmylinux-002 ~]# ps -elf  也可以使用这个命令查看,和ps aux基本上一样。

检查系统中有没有某一个进程在运行,可以通过管道符方式查看。

stat状态说明

D-->不能够中断的进程,如果有很多D状态的进程,那么就会直接影响到系统负载。

R-->某个时间段内在使用CPU的进程

S-->进程使用完CPU后,会暂停一会。

T-->暂停的进程

Z-->僵尸进程太多的话,可以kill掉。

<-->高优先级进程

N-->低优先级进程

L-->内存中被锁了内存分页

s-->主进程

|-->多线程进程,线程和进程的关系,线程是由一个大的进程组成,一个进程里面有多个线程。

+-->前台进程

10.9 查看网络状态

netstat  查看TCP/IP通信的一个状态

[root@jimmylinux-002 ~]# netstat -lnp  监听服务和端口

[root@jimmylinux-002 ~]# netstat -an  查看tcpip状态

查看netstat需要关注ESTABLISHED,如果数字很大说明系统很忙,数字表示有多少个客户端在和服务端保持连接、保持通信,通常这里数字在1000以内服务器都是能接受的。

[root@jimmylinux-002 ~]# ss -an  和netstat命令功能类似,唯一缺点不能够查看进程名字。

10.10 linux下抓包

tcpdump用法:

[root@jimmylinux-002 ~]# tcpdump -nn -i ens33  第一个n表示IP用数字显示,如果不加会显示主机名,第二个n表示端口号。

tcpdump -nn port 80  指定端口抓包

tcpdump -nn not port 22 and host 192.168.0.100  根据判断条件进行抓包

tcpdump -nn -c 100 -w 1.cap  指定长度抓包并生成1.cap文件

tcpdump -r /tmp/1.cap  使用-r读取1.cap文件的内容(主要就是数据流向)

tshark和tcpdump一样都是可以抓包的工具,tshark可以查看指定网卡80端口的一个web服务访问的情况,类似web服务的访问日志。

监控io性能、free、ps命令、查看网络状态、Linux下抓包 使用介绍的更多相关文章

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

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

  2. 10.6 监控io性能 10.7 free命令 10.8 ps命令 10.9 查看网络状态 10.10 linux下抓包

    iostat sysstat 包里面包括 sar 和 iostat [root@centos7 ~]# iostat Linux 3.10.0-693.2.2.el7.x86_64 (centos7. ...

  3. Linux下抓包命令tcpdump

    本文内容来源于网络 PS:tcpdump是一个用于截取网络分组,并输出分组内容的工具,简单说就是数据包抓包工具.tcpdump凭借强大的功能和灵活的截取策略,使其成为Linux系统下用于网络分析和问题 ...

  4. Linux下抓包命令tcpdump的使用

    在linux下,可以使用 tcpdump 命令来抓取数据包. 主要用法如下: 过滤网卡 tcpdump -i eth0 #抓取所有经过网卡eth0数据包 tcpdump -i lo #抓取环回口的数据 ...

  5. Centos7没有IP地址,查看网络状态显示No suitable device found for this connection (devint match))

    今天打开虚拟机,使用 ifconfig 命令时,没有显示出 IP 地址 (更好的阅读体验可访问 这里 ) 使用 systemctl status network 命令查看网络状态 显示没有合适的网络装 ...

  6. iostat iotop 查看硬盘的读写、 free 查看内存的命令 、netstat 命令查看网络、tcpdump 命令

    iostat 命令 查看硬盘的使用情况: iostat iostat -x iotop 命令: 若没安装先安装: yum install iotop -y free 命令,用于查看内存的使用量: fr ...

  7. 查看程序是否启动或者关闭--比如查看Tomcat是否开启!直接用ps命令查看进程就行了啊

    1.查看程序是否启动或者关闭--比如查看Tomcat是否开启!直接用ps命令查看进程就行了啊 2.Tomcat服务器和虚拟机的关系,Tomcat启动运行过程要调用系统环境变量的java_home啊,J ...

  8. ps命令查看进程指定项目信息、用户名过长显示UID

    有次一个在使用ps命令时,发现部分用户显示的是用户名,有些用户显示的是UID,那是因为用户名长度超过8位的:也就是说ps命令用户名列默认只能显示8位(含8位)的用户名,超过8位就显示UID,如何让长度 ...

  9. Linux ps 命令查看进程启动及运行时间

    引言 同事问我怎样看一个进程的启动时间和运行时间,我第一反应当然是说用 ps 命令啦.ps aux或ps -ef不就可以看时间吗? ps aux选项及输出说明 我们来重新复习下ps aux的选项,这是 ...

随机推荐

  1. python全局变量及局部变量

    变量作用域 全局变量(global):在函数外部定义,在整个全局范围都有效 局部变量(local) 在函数内部定义,局部变量在局部范围内使用 数字,字符串,元组,修改其变量值时需要加globle,列表 ...

  2. NOIP模拟 35

    int乘爆见祖宗 难得地T3暴力打满 T1T2思路也都正确 然而T2没看出一个int乘爆直接滚粗.. 这谁抗的住啊... 跟天皇说我差点就rank1了 换来的只有一张奸笑的大脸和一堆垃圾的嘲讽 真巨啊 ...

  3. NOIP模拟 21

    可爱的Dybala走了..(当然只是暂时) 又考了大众分.从rank5到rank17一个分. T1 折纸 秒切,爽啊 天皇偷看我代码,结束看见我A了还很惊讶,说我代码有锅 好沙雕哦 就跟个2b似的. ...

  4. 关于Set和Map数据结构的一点学习

    关于js的Set和Map结构的学习和记录 对阮一峰老师的ES6入门和网上有关资料的的一点学习和记录 1.Set数据结构 Set构造函数的参数是一个可遍历( iterator)对象 Set中的成员值是唯 ...

  5. .Net Core Vue Qucik Start

    .Net Core Vue Qucik Start This is a ASP.NET Core 3.0 project seamlessly integrationed with Vue.js te ...

  6. [网络]HTTP

    HTTP HTTP 简介 HTTP 协议是 Hyper Text Transfer Protocol(超文本传输协议)的缩写,是用于从万维网(WWW:World Wide Web)服务器传输超文本到本 ...

  7. 实现支持多用户在线的FTP程序(C/S)

    1. 需求 1. 用户加密认证 2. 允许多用户登录 3. 每个用户都有自己的家目录,且只能访问自己的家目录 4. 对用户进行磁盘分配,每一个用户的可用空间可以自己设置 5. 允许用户在ftp ser ...

  8. python:timeit模块

    (鱼c)timeit模块详解——准确测量小段代码的执行时间 http://bbs.fishc.com/forum.php?mod=viewthread&tid=55593&extra= ...

  9. Activity生命周期理解

    在Android应用程序运行时,Activity的活动状态由Android以Activity栈的形式管理,当前活动的Activity位于栈顶.随着应用程序之间的切换.关闭等,每个Activity都有可 ...

  10. Vue使用element上传

    <el-upload action v-if="IsUpload" style="display:inline" list-type="pict ...