第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. 【原创】(十)Linux内存管理 - zoned page frame allocator - 5

    背景 Read the fucking source code! --By 鲁迅 A picture is worth a thousand words. --By 高尔基 说明: Kernel版本: ...

  2. C#之委托如此简单

    近期和几位做嵌入式开发的朋友闲聊过程中,一位朋友抱怨到:这C#太难用了,我想在N个窗体(或者是N个用户组件之间)传递值都搞不定,非得要定义一个全局变量来存储,然后用定时器来刷新值,太Low了.我急切的 ...

  3. CSPS模拟 93

    恰饭的时候lsc说我颓颓废废是要ak的前兆 所以我rp掉光了=.= T1 思维一片混乱 T2 只会n^3 发现决策单调性,但没想全 只知道$determin(l,r)>=determin(l,r ...

  4. CSPS模拟 58

    爆炸 没算内存见祖宗 为什么偏偏这次卡内存我没算 T1 HashMap各种水 T2 智障背包!但是卡内存! T3 Dashspeed 考试用点分治+线段树水到了80 实际上是个没见过的套路题 在之前的 ...

  5. Vue 项目添加单元测试发现的问题及解决

    用 Jest 测试单文件组件 1.安装 Jest 和 Vue Test Utils npm install --save-dev jest @vue/test-utils 2.配置 package.j ...

  6. docker项目——上线tomcat网站

    项目: 1.使用docker部署tomcat环境 2.上线网站 3.完成访问使用等 第一步.启动基于tomcat镜像的容器 a.导入镜像 [root@localhost ~]# docker load ...

  7. 2-了解DBMS

    1.DB,DBS,DBMS的区别是什么?     1.1 DB 就是数据库,数据库是存储数据的集合,可理解为多个数据表     1.2 DBS 数据库系统,包括数据库,数据库管理系统和数据库管理人员D ...

  8. 一个excel(20M)就能干趴你的poi,你信吗?

    自从上一篇:一个普通类就能干趴你的springboot,你信吗?后,很巧的是这次又发现一个问题,所以有了这篇文章,还是想沿用上篇的”流水帐“的方式查找问题和解决问题.这篇文章主要是因为使用POI导入一 ...

  9. 深入理解计算机系统 第三章 程序的机器级表示 Part1 第二遍

    第一遍对应笔记链接 https://www.cnblogs.com/stone94/p/9905345.html 机器级代码 计算机系统使用了多种不同形式的抽象,利用更简单的抽象模型来隐藏实现的细节. ...

  10. Linux 部署Nginx反向代理服务 使用openssl自生成证书并配置https

    1.安装Nginx编译所依赖的包 正常centos中可以使用yum安装一下依赖包: yum install -y gcc gcc-c++ pcre pcre-devel zlib zlib-devel ...