Linux 性能监测
下面文章摘录自:http://blog.aizhet.com/Linux/12192.html 非常感谢分享
一台完整运行的 Linux 系统包括很多子系统(介绍,CPU,Memory,IO,Network,…),监测和评估这些子系统是性能监测的一部分。我们往往需要宏观的看整个系统状态,也需要微观的看每个子系统的运行情况。幸运的是,我们不必重复造轮子,监控这些子系统都有相应的工具可用,这些经过时间考验、随 Unix 成长起来、简单而优雅的小工具是我们日常 Unix/Linux 工作不可缺少的部分。
下面这张图片很好的总结了 Linux 各个子系统以及监控这些子系统所需要的工具,如果你对 Linux 系统管理(sysadmin & devops)感兴趣、想入门的话,可以从这张图开始慢慢了解和熟悉各个工具。对于熟练的 Linux 屌丝,这张图你应该能问答自如。(图片来自:Linux Performance Analysis and Tools,幻灯片也很精彩,建议对照阅读。)
Linux 性能监测:介绍
Linux 性能监测:CPU
Linux 性能监测:Memory
Linux 性能监测:IO
Linux 性能监测:Network
工作中一直在用tcpdump,感觉非常方便,今天心血来潮百度了一下tcpdump的用法,才发现原来还有这么多强大的功能自己都不知道,那叫一个汗啊。
以此文作为备份,记录一些新知道的用法,各位网友谁有新的用法,也可以及时告知我进行补充,一起丰富,哈哈!
废话不多说,切入正题。命令及解释用红色字体,命令所需参数的参数值用斜体标示。
先来看一个比较基本的用法:
tcpdump -i eth0
其中,eth0为参数值,表示需要抓包的网口,这是个必需参数哦。
tcpdump支持很多的关键字,下面先看几个例子:
(例1)tcpdump -i eth0 host 192.168.0.250 -----在网口eth0上抓取主机地址为192.168.0.250的所有数据包。
(例2)tcpdump -i eth0 net 192.168.0.0/24 ------ 在网口eth0上抓取网络地址为192.168.0.0/24的所有数据包
(例3)tcpdump -i eth0 port 80 ------ 在网口eth0上抓取端口为80的所有数据包(注意,这里不区分是源端口还是目的端口)
当然,我们也可以指定源端口或目的端口
(例4)tcpdump -i eth0 src port 80 and dst port6100 --- 在网口eth0上抓取源端口为80且目的端口为6100的数据包,这里用到了and逻辑运算符,后面再介绍
(例5)tcpdump -i eth0 icmp --- 在网口eth0上抓取所有icmp协议的数据包
以上几个例子,可以大致体现出tcpdump的基本用法。
实际上,tcpdump主要包括三种类型的关键字,第一种是关于类型的关键字,主要包括host,net,port,如上面的例(1)(2)(3),第二种
是确定传输方向的关键字,主要包括src,dst,src or dst,src and dst,这些关键字指明了传输的方向,如上面的例(4)。第三种是协议关键字,包括fddi,ip,arp,
rarp,tcp,udp,imcp等,如上面的例(5)。
除了这三种类型的关键字外,还有其他重要的关键字,如:gateway,broadcast,less,greater,还有三种逻辑运算,取非运算是'not'、'!',与运算符是'and'、'&&'、
或运算符是'or'、'||',这些关键字可以组合起来构成强大的组合条件来满足我们的需求。
先看看tcpdump的具体参数及意义:
-i:指定tcpdump监听的网络接口
-s:指定要监听数据包的长度
-c:指定要监听的数据包数量,达到指定数量后自动停止抓包
-w:指定将监听到的数据包写入文件中保存
-A:指定将每个监听到的数据包以ACSII可见字符打印
-n:指定将每个监听到数据包中的域名转换成IP地址后显示
-nn:指定将每个监听到的数据包中的域名转换成IP、端口从应用名称转换成端口号后显示
-e:指定将监听到的数据包链路层的信息打印出来,包括源mac和目的mac,以及网络层的协议
-p:将网卡设置为非混杂模式,不能与host或broadcast一起使用
-r:指定从某个文件中读取数据包
-S:指定打印每个监听到的数据包的TCP绝对序列号而非相对序列号
OK,参数介绍先到这里,下面看几个具体例子
tcpdump -i eth0 -s 1400 -nn host 192.168.0.250 and ! 192.168.0.74 and icmp -e
抓取网口eth0上192.168.0.250与除192.168.0.74外的其他主机之间的icmp报文
tcpdump -i eth0 -s 1400 -nn tcp and \(host 192.168.0.250 and ! 192.168.0.74\)
抓取网口eth0上192.168.0.250与除192.168.0.74外的所有tcp数据包,这里用到了括号,注意,在tcpdump中使用括号时必须用转义。
tcpdump -i eth0 ether src or dst 00:21:85:6C:D9:A3
抓取网口eth0上源mac地址或目的mac地址为00:21:85:6C:D9:A3的所有数据包,注意,这里的mac地址格式必须以':'分隔。
=============================================================================================================
下面是参考的一篇文章的原文http://linux.chinaitlab.com/administer/840012.html:
Linux下监控网卡流量的软件iftop
一、获得和安装iftop
iftop也是免费大军中的一员,下载地址如下:
点击下载iftop
iftop需要依赖两个软件包,分别是libpcap和tcpdump,安装iftop前要先安装这两个家伙
点击下载libpcap和tcpdump
别急着下载和安装libpcap和tcpdump,如果系统默认已经安装了就无需再装
#rpm -qa libpcap
#rpm -qa tcpdump
如图我的机器本身已经安装了,所以直接安装iftop就ok~~呵呵!
iftop安装非常简单
#tar xzvf iftop-0.17pre3.tar.gz
#cd iftop-0.17pre3
#./configure
#make
#make install
安装完毕~
二、安装时遇到的问题.
出错了:configure: error: can't find pcap.h
#./configure
#make
#make install
三、使用iftop监控网卡流量
# iftop -i eth0 -nN -P
如图可以很直观地实时观察网卡的数据流量变化,那个ip占流量多少一目了然,令人眼前一亮!
通过iftop的界面很容易找到哪个ip在霸占资源,如果是外部ip,一个字“封”!如果来自内部ip,一个字“吼”!
相关推荐
Linux备忘手册推荐阅读
1. **命令行基础**:Linux是以命令行界面为主的操作系统,学习如何在终端中输入命令至关重要。这包括了解如何打开终端,使用`cd`(改变目录)、`ls`(列出目录内容)、`pwd`(显示当前工作目录)等基本命令。 2. **...
Linux备忘手册分享 在IT领域,Linux是一个广泛使用的开源操作系统,它以其稳定性和灵活性而备受推崇。Linux系统是基于Unix的设计理念,适用于服务器、桌面环境以及嵌入式设备等多种平台。本备忘手册旨在帮助用户更...
Linux备忘手册基础知识
本备忘录旨在帮助对Linux感兴趣的人员快速掌握一些常用命令,以便于日常操作和开发工作。 1. **SSH (Secure Shell)**:SSH是一种加密的网络协议,允许用户进行远程登录和命令执行。在Windows上,可以使用PuTTY和...
1. **基础操作**:包括Linux的安装、启动与关闭、用户管理、文件系统管理等基本操作。学习如何使用命令行进行日常维护,如`ls`, `cd`, `mkdir`, `rm`, `cp`, `mv`等命令的使用。 2. **权限管理**:理解Linux的权限...
Linux初级学习新手备忘手册。Linux备忘手册来了 解决学完就忘 高效查询 一分钟定位80%以上高频问题。linux初级学习备忘手册就应该是一本精华且小巧,随用随查的知识地图,所以我把不重要的,或者说没必要通过查询...
《程序员Linux备忘手册》是一份专为程序员设计的实用指南,旨在帮助开发者在Linux环境中高效工作。这个压缩包“linux-memo-master.zip”包含了丰富的Linux相关知识,涵盖了从基础命令到高级操作的各个方面,是程序员...
linux速查备忘手册,程序员必备手册,linux新手指南
它是Linux备忘手册,而不是学习手册。 有些小伙伴可能拿到这个手册后,说完全看不懂,没办法进行学习。这手册就是个垃圾。这可能是你误会了,他是备忘手册,而不是学习手册。也就是说,是你学习完了Linux,在使用中...
Linux命令备忘手册是每一位Linux用户或系统管理员必备的参考资料,它涵盖了在Linux操作系统中进行日常操作、系统管理以及问题排查所需的各种命令。Linux是一种开源的类UNIX操作系统,以其稳定性和灵活性著称,广泛...
这份"Linux速查备忘命令手册"是为那些在Linux环境中工作的人们准备的一份实用工具,无论你是初学者还是经验丰富的系统管理员,都能从中受益。 1. **基础命令** - `ls`:列出目录内容,`-l`选项可以以详细模式显示...
本备忘单将详细介绍Linux命令列表,帮助你更好地理解和掌握Linux操作系统的日常使用。 1. **基本命令** - `ls`: 列出目录内容。 - `cd`: 改变当前工作目录。 - `pwd`: 显示当前工作目录。 - `touch`: 创建新...
常用Linux命令备忘速查手册
为什么程序员要学习Linux? 作为一个程序员,必须要学习Linux。注意我说的是所有程序员,无论你是后端、前端还是算法工程师,无论你是Java、Python、PHP还是Golang...都必须学习Liunx。也许你会反驳我说,Linux不是...
个人总结的Linux关联的一些资料,包括VMware下Linux开发环境的搭建以及网络配置等,常用Linux命令的使用,Linux各种服务器的架构笔记
这份"Linux速查备忘手册"涵盖了各种基本到高级的Linux命令和操作,是Linux管理员和开发者的宝贵参考资料。 首先,手册中列出了常用的系统管理命令。例如,`shutdown`命令用于关机或重启系统,`-h`参数表示关机,`-r...
个人的Linux常用命令备忘录_linux-command
Linux速查备忘手册是一份关于Linux操作系统的基本命令、操作以及常用工具的使用指南。该手册主要面向Linux系统管理员、开发人员以及对Linux感兴趣的用户,提供快速查阅和参考功能,帮助他们更高效地管理Linux系统和...