01 Tcpdump
Tcpdump 是一个强大的网络监控工具,它允许用户有效地过滤网络上的数据包和流量。
这可以获得有关 TCP/IP 和网络上传输的数据包的详细信息。
当你遇到网络协议问题一筹莫展的时候,这时候往往可以通过tcpdump来看网络的通讯过程中发生了什么事,帮助快速定位问题。
你还可以将 tcpdump 实用程序与cron集成,以便自动执行各种任务,例如日志记录。
由于其众多功能使其非常通用,因此 tcpdump 既可以用作故障排除工具,也可以用作安全工具。
02 Top
top 命令工具的汇总区域显示了五个方面的系统性能信息:
负载:时间,登陆用户数,系统平均负载;
进程:运行,睡眠,停止,僵尸;
cpu:用户态,核心态,NICE,空闲,等待IO,中断等;
内存:总量,已用,空闲(系统角度),缓冲,缓存;
交换分区:总量,已用,空闲
任务区域默认显示:进程 ID,有效用户,进程优先级,NICE 值,进程使用的虚拟内存,物理内存和共享内存,进程状态,CPU 占用率,内存占用率,累计 CPU 时间,进程命令行信息。
03 Htop
htop 是 Linux 系统中的一个互动的进程查看器,一个文本模式的应用程序(在控制台或者X终端中),需要 ncurses。
htop 可让用户交互式操作,支持颜色主题,可横向或纵向滚动浏览进程列表,并支持鼠标操作。
与 top 相比,htop 有以下优点:
可以横向或者纵向滚动浏览进程列表,以便看到所有的进程和完整的命令行
在启动上,比top更快
杀进程时不需要输入进程号
htop支持鼠标操作
04 Vmstat
vmstat(VirtualMeomoryStatistics,虚拟内存统计)是 Linux 中监控内存的常用工具,可对操作系统的虚拟内存、进程、CPU 等的整体情况进行监视。
vmstat 的常规用法:
vmstat interval times 即每隔 interval 秒采样一次,共采样 times 次,如果省略 times,则一直采集数据,直到用户手动停止为止。简单举个例子:
可以使用 ctrl+c 停止 vmstat 采集数据。
第一行显示了系统自启动以来的平均值,第二行开始显示现在正在发生的情况,接下来的行会显示每5秒间隔发生了什么,每一列的含义在头部,如下所示:
procs:r 这一列显示了多少进程在等待cpu,b列显示多少进程正在不可中断的休眠(等待IO)。
memory:swapd 列显示了多少块被换出了磁盘(页面交换),剩下的列显示了多少块是空闲的(未被使用),多少块正在被用作缓冲区,以及多少正在被用作操作系统的缓存。
swap:显示交换活动:每秒有多少块正在被换入(从磁盘)和换出(到磁盘)。
io:显示了多少块从块设备读取(bi)和写出(bo),通常反映了硬盘I/O。
system:显示每秒中断(in)和上下文切换(cs)的数量。
cpu:显示所有的cpu时间花费在各类操作的百分比,包括执行用户代码(非内核),执行系统代码(内核),空闲以及等待IO。
内存不足的表现:
free memory 急剧减少,回收 buffer 和 cache 也无济于事,大量使用交换分区(swpd),页面交换(swap)频繁,读写磁盘数量(io)增多,缺页中断(in)增多,上下文切换(cs)次数增多,等待IO的进程数(b)增多,大量CPU时间用于等待IO(wa)。
05 iostat
iostat 用于报告中央处理器(CPU)统计信息和整个系统、适配器、tty 设备、磁盘和 CD-ROM 的输入/输出统计信息,默认显示了与 vmstat 相同的 cpu 使用信息,使用以下命令显示扩展的设备统计:
第一行显示的是自系统启动以来的平均值,然后显示增量的平均值,每个设备一行。
常见 linux 的磁盘 IO 指标的缩写习惯:rq 是 request,r 是 read,w 是 write,qu 是 queue,sz 是 size,a 是verage,tm 是 time,svc 是 service。
rrqm/s 和 wrqm/s:每秒合并的读和写请求,“合并的”意味着操作系统从队列中拿出多个逻辑请求合并为一个请求到实际磁盘。
r/s和w/s:每秒发送到设备的读和写请求数。
rsec/s和wsec/s:每秒读和写的扇区数。
avgrq –sz:请求的扇区数。
avgqu –sz:在设备队列中等待的请求数。
await:每个IO请求花费的时间。
svctm:实际请求(服务)时间。
%util:至少有一个活跃请求所占时间的百分比。
06 dstat
dstat 显示了 cpu 使用情况,磁盘 io 情况,网络发包情况和换页情况,输出是彩色的,可读性较强,相对于 vmstat 和iostat 的输入更加详细且较为直观。在使用时,直接输入命令即可,当然也可以使用特定参数。
如下:dstat –cdlmnpsy
07 PulseAudio
我最喜欢的现代Linux功能之一是PulseAudio。Pulse为Linux上的音频提供了惊人的灵活性,包括自动发现本地网络流。
对我来说,这一功能的好处是我可以在办公室的工作站点播放播客和技术会议视频,然后通过手机播放这些音频。
这种能力早在PulseAudio之前就存在了,但Pulse让它变得更加简单。
使用之前,首先,你必须确保安装了PulseAudio首选项(paprefs)包,以便你可以在你的PulseAudio配置中启用网络音频。
在paprefs中,启用对本地声音设备的网络访问,可能不需要验证,并启用你的计算机昨晚播放/RTP发送者。
08 Samba
Samba是种自由软件,用来让UNIX系列的操作系统与微软Windows操作系统的SMB/CIFS(Server Message Block/Common Internet File System)网络协定做连结。
尽管大多都是低级代码,许多用户从来不会刻意使用它,但它的重要性不可低估。
该项目可以确保Linux和Windows计算机轻松在同一网络运行,换句话说,Samba使通过本地网络共享文件变得很容易,而不管使用的是什么平台。
在KDE Plasma桌面,你可以右键单击任何目录选项并选择Properties。在属性对话框中,单击共享标签,选择“与Samba共享(Microsoft Windows)”。
就像这样,已经为本地网络上的用户打开了一个只读访问目录。
这意味着,当你在家时,你家里使用同一WiFi网络的任何人都可以访问这个文件夹,当然,要访问它,其他用户需要知道在哪里找到它。
计算机的路径可以表示为IP地址,也可以表示为主机名(取决于你的网络配置)。
转自公众号https://mp.weixin.qq.com/s/qv2WbPryN1j8eicgoHqZzw