七周二次课(5月7日)

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

监控IO性能

iostat -x 磁盘使用 和sar在同一个包下, 安装 sysstat的时候就装了

主要是看-x选项后的%util表示的是IO等待,磁盘使用有多少时间是占用cpu的一个时间比,因为cpu有分配给内存,应用同时也有等待写入磁盘等操作。

iotop需要安装 直接yum install iotop即可,可以查看到即时的进程对于io的占用情况

free

直接查看内存使用情况的命令

free -m 查看单位是M

free -h 查看更人性化


total 总共是多大内存 total = used + free+buff/cache

used 是使用了多少内存

free 是剩余的内存 但是used加上free并非total,为什么?因为linux系统预分配部分给buff和cache。因为数据传输过程需要所以系统预留了。

shared

buff/cache 缓冲/缓存 前者是数据从cpu到磁盘 后者是从磁盘到cpu的时候的内存

available free+buff/cache未使用的部分 就是available,就是真正剩余的物理内存----查看free的时候available的值最重要


何为buffer和cache?

数据是有一定流向的,有两种方式,一种是拿出来数据交给cpu运算和分析,中间是需要经过一个内存的,目的是让数据有一个缓和,因为cpu和磁盘的速度相差是比较大的。缓存下数据放到内存,需要用的时候从内存(cache)中去拿。反过来计算完的cpu的数据,

需要存回到磁盘里去,这个过程直接写进去太慢,所以需要内存(buff)来临时存储数据,然后再存储到磁盘中去。

0101010 (磁盘) ---> 内存(cache)--> cpu

cpu01010010   ---> 内存(buffer)-->磁盘





ps命令


ps aux 列出系统中的所有进程

静态的一次性的把当前的进程的使用状况列出来。

可以使用管道符用grep查看是否存在某个进程

ps -elf 和 aux差不多

显示:

user 用户

PID process id 通常这个pid用来kill的时候来用 kill pid 就可以杀掉进程还有就是系统被黑了,看到一个陌生的进程,想看看这个进程的位置,就找到pid然后 进入/proc/pid就可以进入到进程的目录进行查看。

%cpu  占cpu的百分比

%MEM 占内存百分比

VSZ RSS  虚拟内存 物理内存

TTY 控制台登陆

STAT 需要关注 

stat是进程的状态,有以下几种:

D--- 不能中断的进程。中断的话会对程序有影响。这个会直接影响系统负载,因为一直运行所以系统的负载会跟这个有直接的关系。

R ---run状态的进程。指的是某一个时间段内在使用cpu

S--- sleep状态。 运行完sleep,然后激活在运行

T --暂停的进程

S sleep的进程(大写S)

将vmstat暂停后fg继续,再用另一个终端查看状态变成了s+,是因为vmstat占用时间的cpu非常短,所以是一个放大的sleep的状态,就是看起来是运行的,实际上是睡眠,运行,睡眠运行的状态,耗费的cpu的资源也特别的少。+表示前台进程

从下图可以看到换成后台运行后,+没有了,同时r也出现了。s和r交替出现。


Z 僵尸进程

< 高优先级的进程 cpu优先分配资源给它使用

N 低优先级进程。

L 内存中被锁了内存分页的进程

s 主进程


l 多线程进程

最大的区别就是:

1 进程里包含了线程,线程是进程的子单元

2 同一个进程下的线程全部共享相同的内存,而进程之间内存相互隔离。


查看网络状态

netstat就是查看tcp/ip通信状态的命令

比如安装一个数据库服务,server服务等,就需要监听端口,所谓监听端口就是不同的应用是通过哪个端口进行通信的。打开一个端口其他的设备才可以连接,通过端口进行数据的通信。比如80 web端口,22 sshd端口,远程连接

netstat -lnp

netstat -ltnp 只查看tcp  -lunp只查看udp -ltunp 只查看tcp udp

l---listen

解释上图:

tcp 就是ipv

tcp6 是ipv6

需要了解tcp udp的协议概念。三次握手,四次挥手

socket是同一个服务器两个进程之间进行通信的文件。

上图查看的是都有哪些socket文件。

在之后部署一些服务后,需要用ps查看进程,或者用netstat查看端口。

netstat -nn 查看tcp/ip状态。

有一条netstat 管道用awk显示的命令,可以显示当前的监听,建立等的状态

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

注意需要关注 established

这个值如果很大,说明系统很忙,网站并发连接--就是同一时刻有多少个客户端在连接服务器。

这个数字就是并发连接数。也就是正在保持通信的状态,会直接占用资源。通常1000以内的话还算正常,如果数字过大就不正常了。

ss -an和netstat很像

然后可以使用awk来进行信息的筛选。比如查看在监听的服务,-i忽略大小写。缺点是不显示进程的名字。

Linux下抓包

抓包工具 tcpdump

查看进入的包都有哪些。以及数据的流向,length 。默认都是tcp的包,如果发现很多udp的包就有可能***了。eg DDos UDP flood 。只能接入专业的防***设备或服务。


tcpdump -nn 网卡名 

-nn 第一个n表示ip显示成数字,不加会显示主机名。

时间   源ip及端口  > 目标ip及端口:数据包信息


tcpdump -nn 网卡 port 80 指定port

tcpdump -nn 网卡not port 22 and host 192.168.0.100 排除22端口,只要192.168.0.100的包

tcpdump -nn -c 10 -w 1.cap  数据包 写入10个记录到1.cap文件中

并不能cat因为里面存的是真正的数据信息,因为它抓的是通过网卡通过的数据。如果想看的话,可以使用 tcpdump -r 来进行查看


wireshark 也是用来抓包的命令 yum install wireshark

以下命令可以用来查看指定网卡的80端口的web访问的情况。但是没装web service就不能够完成这个动作

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"


看一下老师线上服务器的展示,非常的棒,什么ip访问的什么page都可以看到,这个完全可以用来统计用户访问。?

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" 

转载于:https://blog.51cto.com/13691454/2114132

20170507Linux七周二次课 io监控free ps 网络状态 抓包相关推荐

  1. 入门一班 20181024 io监控free ps 网络状态 抓包

    监控IO性能 iostat -x 磁盘使用 和sar在同一个包下, 安装 sysstat的时候就装了 主要是看-x选项后的%util表示的是IO等待,磁盘使用有多少时间是占用cpu的一个时间比,因为c ...

  2. 七周二次课(1月23日) 10.6 监控io性能 10.7 free命令 10.8 ps命令 10.9 查看网络状态 10.10 linux下抓包...

    七周二次课(1月23日) 10.6 监控io性能 10.7 free命令 10.8 ps命令 10.9 查看网络状态 10.10 linux下抓包 ========================== ...

  3. ​七周二次课(5月7日)监控io性能、free命令、ps命令、查看网络状态、linux下抓包...

    2019独角兽企业重金招聘Python工程师标准>>> 10.6 监控IO性能 1.监控 io 性能 这个 iostat 命令,在安装 sar 命令的时候,就一起安装了,所以不用重新 ...

  4. 七周二次课(5月7日)

    10.6 监控io性能 iotop命令是一个用来监视磁盘I/O使用状况的top类工具.iotop具有与top相似的UI,其中包括PID.用户.I/O.进程等相关信息.Linux下的IO统计工具如ios ...

  5. 监控商品库存方法之二——抓包逆向

    继上一篇. Selenium虽然模拟用户操作显得比较真实,但毕竟动用了浏览器,并按手动操作执行,效率上显然是极低的,而且耗用巨大系统资源(Chrome).所以总需要更直接高效的方式,那就是抓包再发包了 ...

  6. 计算机网络课设--监控IP、解析IP数据包(MFC版,可直接运行)

    目录 简介 课设题目 成果展示 开发步骤 总结 课设相关文件 源码 结语 简介 Hello! 非常感谢您阅读海轰的文章,倘若文中有错误的地方,欢迎您指出-   ଘ(੭ˊᵕˋ)੭ 昵称:海轰 标签:程序 ...

  7. C++socket编程(七):7.1 http协议讲解,通过抓包和telnet分析

    http协议分析: HTTP超文本传输协议,所有的www文件都必须遵守整个标准 HTTP/1.0短连接,HTTP/1.1它支持持续连接. 下面是HTTP协议的响应 telnet www.baidu.c ...

  8. 889-Linux主机网络流量抓包监控

    tcpdump 是一个命令行应用程序,可让你捕获和分析通过系统的网络流量.它通常用于帮助解决网络问题以及安全工具. tcpdump 是一个强大且多功能的工具,包括许多选项和过滤器,可用于各种情况.由于 ...

  9. linux监控nas日志,NAS存储抓包分析

    现网近期一台NAS存储最近在使用的时候,业务反馈有诡异的性能问题.这里记录下关于NAS包的分析.NAS存储对应在LINUX平台上NFS协议,对应在windows平台上使用cifs协议.LINUX主机抓 ...

最新文章

  1. IEEE最新薪资报告 | 手机开发者年入153万,机器学习并非最高(附链接)
  2. vue 多页面iframe不刷新_Vue中iframe保持活动状态(不刷新)
  3. 计算机二级python用什么书-计算机二级 Python 怎么考?考什么?
  4. 企业网站服务器负载均衡技术
  5. Django之模型层和ORM
  6. 一个老忘且非常有用的jquery动画方法 网页上卷
  7. 安卓app 获取view的id_隐私保护问题不小 研究表示1325个安卓APP未经授权获取用户数据...
  8. 颜色协调模型Color Harmoniztion
  9. 69. Sqrt(x)010(二分法求解+详解注释)
  10. 一台机器起多个filebeat_全自动多色丝印机一台多少钱?
  11. 瑞幸咖啡 CEO 和 COO 被暂停职务;快手起诉抖音索赔 500 万元;Wine 5.8 发布 | 极客头条...
  12. JavaScript数组实现图片轮播
  13. php匿名函数自调用,使用自调用函数和匿名函数吃饭
  14. OneAlert 入门(三)——事件分析
  15. Redis穿透、击穿、雪崩解决方案
  16. Android通知渠道
  17. 高等数学期末总复习DAY12.复合函数的链式求导、隐函数求导、
  18. EasyExcel 实现批量合并单元格(支持自定义)
  19. 《图像超分辨率研究综述》笔记
  20. C语言自动出十题四则运算,c语言四则运算出题器

热门文章

  1. as3自定义加载图片类
  2. C# Winform 启动和停止进程
  3. 用“脸”打卡,抬头就能签到!
  4. Android WebView与ViewPager的滑动冲突分析
  5. 一堆乱七八糟绝不正经的排序算法
  6. 详解Silverlight Treeview的HierarchicalDataTemplate使用
  7. gitlab安装各种坑
  8. OneAPM挂牌新三板,续写 ITOM 新篇章
  9. 删除字符串中出现次数最少的字符
  10. AC日记——传染病控制 洛谷 P1041