Linux服务器性能、网络监控

news2024/12/23 8:09:12

参考
1.Linux监控指令
2.Linux服务器上监控网络带宽的18个常用命令和linux带宽流量监控查看工具
3.Linux top指令

文章目录

    • Linux 命令行工具
    • 总体性能监控
    • 网络监控
    • 网络监控iftop
    • 磁盘IO使用情况和性能分析 iostat

Linux 命令行工具

在这里插入图片描述

总体性能监控

$ top

直接输入 top,返回下图所示内容,其中,load average: 0.00,0.01,0.05 分别表示最近1分钟、5分钟和15分钟的负载,数值越高负载越大。一般要求最好不要超过cpu的核数。比如,单核就最好小于1。如果看到机器长期出于高于核数的情况,说明机器的cpu排队严重。

%Cput(s)这一行表示的是cpu使用情况,例如cpu的利用率、空闲等信息。如果按下数字键“1”,还可以看到每一个核的情况。

我们还可以查看每一个进程的情况,可以运行的时候加上-p参数:top -p pid即可。如果想按照某种方式排序,只需要按下大写的字母“O”,即可选择排序。

我们还可以按下大写的M:根据内存占用降序排序,
按下大写的P:根据CPU占用降序排序
在这里插入图片描述
首先是我们的老面孔。top、vmstat、sar命令,可以初步判断io情况。
bi、bo等在你了解磁盘的类型后才有判断价值。wa已经达到30%,证明cpu耗费在上面的时间太多。

查看应用启动指令以及pid

ps -ef | grep java

在这里插入图片描述

网络监控

$ nethogs 

安装nethogs:Ubuntu、Debian和Fedora用户可以从默认软件库获得。CentOS用户则需要Epel。

ubuntu或debian(默认软件库)

$ sudo apt-get install nethogs 

fedora或centos(来自epel)

$  yum install nethogs -y 

交互命令
以下是NetHogs的一些交互命令(键盘快捷键)

m : 修改单位
r : 按流量排序
s : 按发送流量排序
q : 退出命令提示符

网络监控iftop

查看占流量最大的IP
有时候我们发现网络带宽占用非常高,但我们无法判断到底流量来自哪里。这时候,iftop就可以帮上忙了。如图,可以很容易的找出流量来自哪台主机。

安装:

yum install iftop

使用

iftop
iftop -B # 以bytes为单位显示流量(默认是bits)
iftop -m 100M #设置界面最上边的刻度的最大值,刻度分五个大段显示

iftop界面相关说明
界面上面显示的是类似刻度尺的刻度范围,为显示流量图形的长条作标尺用的。

中间的=>箭头表示出流量方向, <= 箭头表示入流量方向

TX:发送流量
RX:接收流量
TOTAL:总流量
Cumm:运行iftop到目前时间的总流量
peak:流量峰值
rates:分别表示过去 2s 10s 40s 的平均流量

iftop相关参数
常用的参数
-i设定监测的网卡,如:# iftop -i eth1

-B 以bytes为单位显示流量(默认是bits),如:# iftop -B

-n使host信息默认直接都显示IP,如:# iftop -n

-N使端口信息默认直接都显示端口号,如: # iftop -N

-F显示特定网段的进出流量,如# iftop -F 10.10.1.0/24或# iftop -F 10.10.1.0/255.255.255.0

-h(display this message),帮助,显示参数信息

-p使用这个参数后,中间的列表显示的本地主机信息,出现了本机以外的IP信息;

-b使流量图形条默认就显示;

-f这个暂时还不太会用,过滤计算包用的;

-P使host信息及端口信息默认就都显示;

-m设置界面最上边的刻度的最大值,刻度分五个大段显示,例:# iftop -m 100M

进入iftop画面后的一些操作命令(注意大小写)
按h切换是否显示帮助;

按n切换显示本机的IP或主机名;

按s切换是否显示本机的host信息;

按d切换是否显示远端目标主机的host信息;

按t切换显示格式为2行/1行/只显示发送流量/只显示接收流量;

按N切换显示端口号或端口服务名称;

按S切换是否显示本机的端口信息;

按D切换是否显示远端目标主机的端口信息;

按p切换是否显示端口信息;

按P切换暂停/继续显示;

按b切换是否显示平均流量图形条;

按B切换计算2秒或10秒或40秒内的平均流量;

按T切换是否显示每个连接的总流量;

按l打开屏幕过滤功能,输入要过滤的字符,比如ip,按回车后,屏幕就只显示这个IP相关的流量信息;

按L切换显示画面上边的刻度;刻度不同,流量图形条会有变化;

按j或按k可以向上或向下滚动屏幕显示的连接记录;

按1或2或3可以根据右侧显示的三列流量数据进行排序;

按<根据左边的本机名或IP排序;

按>根据远端目标主机的主机名或IP排序;

按o切换是否固定只显示当前的连接;

按f可以编辑过滤代码,这是翻译过来的说法,我还没用过这个!

按!可以使用shell命令,这个没用过!没搞明白啥命令在这好用呢!

按q退出监控。

常见问题
1、make: yacc: Command not found
make: *** [grammar.c] Error 127

解决方法:apt-get install byacc / yum install byacc

2、configure: error: Curses! Foiled again!
(Can’t find a curses library supporting mvchgat.)
Consider installing ncurses.

解决方法:apt-get install libncurses5-dev / yum install ncurses-devel

磁盘IO使用情况和性能分析 iostat

iostat
使用

iostat
iostat -x 1 # 1秒刷新一次

在这里插入图片描述
参数说明:
%util 最重要的判断参数。一般地,如果该参数是100%表示设备已经接近满负荷运行了

Device 表示发生在哪块硬盘。如果你有多快,则会显示多行

avgqu-sz 这个值是请求队列的饱和度,也就是平均请求队列的长度。毫无疑问,队列长度越短越好

await 响应时间应该低于5ms,如果大于10ms就比较大了。这个时间包括了队列时间和服务时间

svctm 表示平均每次设备I/O操作的服务时间。如果svctm的值与await很接近,表示几乎没有I/O等待,磁盘性能很好,如果await的值远高于svctm的值,则表示I/O队列等待太长,系统上运行的应用程序将变慢

总体来说,%util 代表了硬盘的繁忙程度,是你进行扩容增加配置的指标。而await、avgqu-sz、svctm等是硬盘的性能指标,如果%util正常的情况下反应异常则代表你的磁盘可能存在问题。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/899458.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

msvcp120.dll丢失的解决方法,常见的解决dll问题方法

最近在使用一款常用的图像处理软件时&#xff0c;遇到了一个问题。每次我尝试打开软件时&#xff0c;都会弹出一个错误提示窗口&#xff0c;告诉我缺少msvcp120.dll文件。 系统提示无法启动此程序&#xff0c;因为计算机中丢失msvcp120.dll&#xff0c;尝试重新安装该程序以解…

C++头文件

C头文件 一般头文件特殊头文件windows.hbits/stdc.h 一般头文件 C头文件是一种包含预定义函数、类和变量声明的文件。它们通常用于在源代码文件中引入外部库或模块的功能。 头文件的作用是提供程序所需的声明信息&#xff0c;以便在源代码文件中使用这些声明。当你在源代码文…

【数据结构OJ题】设计循环队列

原题链接&#xff1a;https://leetcode.cn/problems/design-circular-queue/ 1. 题目描述 2. 循环队列的概念和结构 为充分利用向量空间&#xff0c;克服"假溢出"现象的方法是&#xff1a;将向量空间想象为一个首尾相接的圆环&#xff0c;并称这种向量为循环向量。…

面试之快速学习STL-容器适配器

1. 容器适配器 简单的理解容器适配器&#xff0c;其就是将不适用的序列式容器&#xff08;包括 vector、deque 和 list&#xff09;变得适用。 注意&#xff1a;默认使用的基础容器不代表一定只能用它&#xff0c;比如queue可以用deque&#xff0c;list。 如果你希望你的qu…

VS 运行编译通过,但代码下方 标红波浪线 问题

解决办法一&#xff1a;重新扫描 一次 解决方案&#xff0c; 就会去掉红线 方法2&#xff1a; VS 运行编译通过&#xff0c;但代码标红波浪问题解决办法_vs代码下面有波浪线_Start_Or_Out的博客-CSDN博客

算法与数据结构(五)--树与二叉查找树

符号表的增删查操作&#xff0c;随着元素个数N的增多&#xff0c;其耗时也是线性增多的&#xff0c;时间复杂度都是O(n)&#xff0c;为了提高运算效率&#xff0c;我们学习树这种数据结构。 目录 一.树的基本定义 二.树的相关术语 三.二叉树的基本定义 四.二叉树的链表实现…

Linux 进程间通信——消息队列

一、消息队列的原理 消息队列提供了一种从一个进程向另一个进程发送一个数据块的方法。每个数据块都被认为含有一个类型&#xff0c;接收进程可以独立接收含有不同类型值得数据库。 消息实际上是一个数据块&#xff0c;这个数据块是一个结构体&#xff0c;结构体由自己命名。消…

跨境电商平台(例如阿里巴巴、虾皮)的商品数据如何收集?

跨境电商是指通过互联网&#xff0c;以跨越国家或地区边界的方式进行电子商务交易的商业行为。传统的电子商务通常是在同一国家或地区内进行&#xff0c;而跨境电商则侧重于跨国贸易。跨境电商通过在线平台&#xff08;如阿里巴巴、亚马逊等&#xff09;或第三方服务商&#xf…

智慧工地平台工地人员管理系统 可视化大数据智能云平台源码

智慧工地概述&#xff1a; 智慧工地管理平台是以物联网、移动互联网技术为基础&#xff0c;充分应用大数据、人工智能、移动通讯、云计算等信息技术&#xff0c;利用前端信息采通过人机交互、感知、决策、执行和反馈等&#xff0c;实现对工程项目內人员、车辆、安全、设备、材…

Spark 为什么比 MapReduce 快100倍?

文章目录 1. 内存计算与磁盘刷写1.1 MapReduce 的 Shuffle 需要频繁 IO1.2 Spark 计算走 IO 少 2. 进程和线程2.1 基于进程的 MapReduce2.2 基于线程的 Spark2.3 基于进程 VS 基于线程 3. 持久化缓存机制4. 数据格式和序列化 通常我们认为 Spark 引擎是基于内存进行计算&#x…

【STL】-- 知识总结

目录 STL六大组件介绍 容器 序列式容器 vector list 知识点考察 关联式容器 map/set set介绍 set常用接口 map介绍 map常用接口 底层结构&#xff1a;红黑树 unordered_map/set unordered_map/set介绍 底层结构&#xff1a;哈希表 知识考察 适配器 stack qu…

【ESP系列】ESP01S官方MQTT案例实验

前言 偶然发现安信可官网有ESP01S和STM32连接TCP和MQTT的案例。弄了一两天&#xff0c;把我使用的流程在这里记录下。MQTT的固件一定要烧录进去&#xff0c;默认固件是没有MQTT相关的AT指令的。 环境 Keli5&#xff0c;STM32F103C8T6 官方Keil工程链接&#xff1a;ESP8266的S…

虫情测报灯

在农业生产过程中&#xff0c;农作物的虫害问题永远都是放在首位的。随着现代生活科技的发展和社会进步&#xff0c;人们对物质也有了新的要求。伴随农作物品种的增加&#xff0c;农药和化肥的使用也在导致农业虫害问题日益加剧&#xff0c;在这种不良的耕作状态下&#xff0c;…

JSP介绍

目录 获取表单提交的数据 请求对象 request response 在请求中存取属性 转发与重定向 session cookie pageContext对象 jsp 动作标签 JSP内置对象是什么: 在jsp开发中会频繁使用到一些对象,如ServletContext HttpSession PageContext等.如果每次我们在jsp页面中需要使…

JavaWeb 速通Listener

目录 一、Listener快速入门 1.Listener简介 : 2.Java事件处理机制 : 二、ServletContextListener 1.作用 : 2.相关方法 : 3.应用实例 : 三、ServletContextAttributeListener 1.作用 : 2.相关方法 : 3.应用实例 : 四、HttpSessionListener 1.作用 : 2.相关方法 :…

KeilMDk软仿真设置_STM32F03C8

1、KeilMDK软仿真的价值 (1)在没有硬件的情况下进行程序的编写调试。 (2)避免频繁的下载程序&#xff0c;延长单片机Flash寿命。 2、软仿真配置。 (1)打开Keil工程。 (2)点击“Options for Target ***”&#xff0c;如下图所示。 (3)点击“Debug”。 (4)进行如下配置。 U…

无涯教程-TensorFlow - XOR实现

在本章中&#xff0c;无涯教程将学习使用TensorFlow的XOR实现&#xff0c;在TensorFlow中开始XOR实施之前&#xff0c;看一下XOR表值。这将帮助了解加密和解密过程。 A B A XOR B 0 0 0 0 1 1 1 0 1 1 1 0 XOR密码加密方法基本上用于加密&#xff0c;即通过生成与适当密钥匹配…

科技大厂GenAI最新动态一览!AI创意字终极全攻略;一文入门LLM应用开发框架LangChain;Llama初学者指南 | ShowMeAI日报

&#x1f440;日报&周刊合集 | &#x1f3a1;生产力工具与行业应用大全 | &#x1f9e1; 点赞关注评论拜托啦&#xff01; &#x1f916; 使用浏览器插件 immersive translate&#xff0c;将外语书翻译成双语对照版 immersive translate 是一款非常好用的浏览器翻译插件。今…

idea2023 springboot2.7.5+mybatisplus3.5.2+jsp 初学单表增删改查

创建项目 修改pom.xml 为2.7.5 引入mybatisplus 2.1 修改pom.xml <dependency><groupId>com.baomidou</groupId><artifactId>mybatis-plus-boot-starter</artifactId><version>3.5.2</version></dependency><!--mysq…

XSS攻击是什么?它有哪些类型?

xss攻击是什么&#xff1f; XSS全称是Cross Site Scripting即跨站脚本&#xff0c;当目标网站目标用户浏览器渲染HTML文档的过程中&#xff0c;出现了不被预期的脚本指令并执行时&#xff0c;XSS就发生了。 作为一种HTML注入攻击&#xff0c;XSS攻击的核心思想就是在HTML页面中…