Linux系统监控_linux监控系统-程序员宅基地

技术标签: 网络  运维  linux  服务器  

文章目录

关于新手小白企业实战中常用到的Linux命令,以下内容关于,内存、cpu、网络等常用命令

(最后附加磁盘常用的命令)

一、关于内存

1、查看内存的运行情况——free

  • 常用参数:

 -h:人性化阅读

  • 信息释义:

Mem:物理内存

Swap:交换分区,就是存放虚拟内存的地方。当内存不够时,把一部分硬盘空间虚拟成内存使用(提高内存的使用效率)。

total:内存总数

used:已经使用的内存

free:空闲内存

shared;多个进程共享内存

buff:I/O缓存,内存与硬盘的缓冲,IO设备的读写缓冲区

cache:高速缓存,内存与cpu的缓冲

avaliable:剩余可用的内存

2、查看虚拟内存的运行情况——vmstat(性能分析)

 vmstat:虚拟内存统计。是Linux监控内存的常用工具,可对操作系统的虚拟内存、进程、CPU等整体情况进行监视。

(如果没有该命令,yum install sysstat 进行安装)

  • 常见参数:

-f:查看系统已经fork(创建子进程)多少次

-s:查看内存使用的详细信息

-a:查看内存的active和inactive

-d :查看磁盘读写

-p:指定磁盘分区统计信息。例如:vmstat -p /dev/sda1

  • 信息释义:
类别 字段 说明
procs(进程) r 在运行队列中等待的进程数
procs(进程) b 在等待输入输出的进程数
memory(内存) swpd 已经使用的交换内存(kb)
memory(内存) free 空闲的物理内存(kb)
memory(内存) buff 用作缓冲区的内存数(kb)
memory(内存) cache 用作高速缓存的内存数(kb)
swap(交换页面) si

从磁盘交换到内存的交换页数据(kb/s)

swap(交换页面) so 从内存交换到磁盘的交换页数据(kb/s)
IO(块设备) bi 发送到块设备的块数(块/s)
IO(块设备) bo 从块设备中接收的块数(块/s)
system(系统) in 每秒的中断数,包括时钟中断
system(系统) cs 每秒上下文切换的次数
CPU(处理器) us 用户进程使用的cpu时间(%)
CPU(处理器) sy 系统进程使用的cpu时间(%)
CPU(处理器) id CPU空闲时间(%)
CPU(处理器) wa 等待IO所消耗的cpu时间(%)
CPU(处理器) st 从虚拟设备中获得的时间(%)

注:当物理内存free能满足系统需要的话(即物理内存足以存放所有进程的数据),那么物理内存和磁盘(虚拟内存)是不应该存在频繁的页面交换操作的(si和so)。频繁的页面交换会使系统性能受到影响。

二、关于CPU

1、实时分析服务器状态——top

  • 重点信息释义:

第一行信息:

top - 11:19:06 :当前时间

up 8 min:开机到现在用了多长时间

2 users:当前的在线用户

load average:当前的系统负载情况,分别是1min、5min、15min

第三行信息:(参见vmstat中cpu的信息释义)

%Cpu(s):总体cpu信息

2、获取系统负载信息——uptime(即top的第一行信息)

3、查看CPU负载工具——mpstat

 mpstat:报告关于cpu的一些统计信息,这些信息存放在/proc/stat文件中。其不但能查看所有cpu 的平均状况,而且能查看特定cpu的信息

  • 常见语法:

mpstat [-P {cpu|ALL}] [internal [count]]

  • 参数说明:

-P {cpu l ALL}:表示监控哪个CPU, cpu在[0,cpu个数-1]中取值

internal:相邻的两次采样的间隔时间

count:采样的次数,count只能和delay一起使用

  • 例如:

mpstat -P ALL 2 2        #表示每2秒产生一个报告,总共产生2个。

4、显示cpu的相关信息——lscpu

(cpu文件存放在/sys/devices/system/cpu/)

三、关于网络与通信监控

1、查看当前主机通信连接——ss

ss(socket statistics 缩写),该命令可以用来获取socket的统计信息,可显示更多TCP连接状态的信息

注:socket是指TCP通讯5元组:源ip,目的ip,源端口号,目的端口号,数据

 2、实时流量监控iftop

安装:iftop是工具包含在epel-release里的,要先安装epel-release

yum install -y epel-release  yum install iftop -y

 iftop:可以用来监控网卡的实时流量(可指定网段)、反向解析IP、显示端口信息等

  •  信息释义:

TX:发送流量

RX:接受流量

TOTAL:总流量

cum:运行iftop到目前时间的总流量

peak:流量峰值

rates:分别表示过去2s,10s,40s的平均流量

  • 常见参数:

 -i:指定某个网卡

-n:直接显示IP,不进行DNS反解析

-N:直接显示连接埠编号,不显示服务名称

-F:显示某个网段进出包流量

(一般使用:iftop -i ens33 -n)

3、显示网络状态——netstat

  • 常用参数:

-a:显示所有信息

-t (tcp) :仅显示tcp相关选项

-u (udp) :仅显示udp相关选项

-n :仅显示数字。

-l :仅列出有在 Listen (监听) 的服务状态

-p:显示端口对应的服务进程


附:磁盘内容

1、查看磁盘使用情况——df

  • 常用语法:df -h 

(参数-h:人性化设计,提高可读性)

2、查看文件(目录)占磁盘空间的大小——du

  • 常用语法:du -sh (目录名)

(参数:-s是显示总大小summary;-h是人性化设计,提高可读性)

总结

内存:free

进程管理:top

性能分析:top/vmstat/iftop

负载(cpu):top/uptime

网络:netstat/ss

磁盘:df/du

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/weixin_56842567/article/details/125105839

智能推荐

python 自定义日历控件开发_self.configure(style='datepicker')-程序员宅基地

文章浏览阅读924次。学习python期间,发现 tkinter没有自带的日期选择控件。决定自己的写一个日期控件,费尽周转,终于写了一个自己满意的日期控件。本着人人为我,我为人人的原则,欢迎大家转发,评论,及提出宝贵的建议和意见。严重反感复制别人作品来获取下载积分和关注等行为。1.创建一个自定义DatePicker类,实现下拉日期选择。_self.configure(style='datepicker')

IntelliJ IDEA中配置Tomcat_idea配置tomcat-程序员宅基地

文章浏览阅读605次,点赞13次,收藏10次。InteliJ IDEA 配置Tomcat服务器_idea配置tomcat

python入门指南txt-【杂谈】爬虫基础与快速入门指南-程序员宅基地

文章浏览阅读168次。今天给大家分享一下网络爬虫的基础知识,以及一些优秀的开源爬虫项目。网络爬虫主要是我们在面对新的任务,但自己又没有数据的时候,获取自己想要的数据的一种手段。因此我们有必要掌握一定的爬虫知识,从而更好的准备训练数据集。作者 | 言有三编辑 | 言有三1 前端网页基础在介绍爬虫之前我们先介绍一下网页基础,理解前端网页有利于我们对后面爬虫的学习,它是爬虫的基础之一。1.网页构成通常来说网页由三部分组成,分..._python入门指南 小说 txt

已解决java.lang.NullPointerException异常的正确解决方法,亲测有效!!!_tinyumbrella安装java.lang.nullpointerexception-程序员宅基地

文章浏览阅读5.3w次,点赞22次,收藏20次。在Java编程中NullPointerException是最常见的运行时异常之一,这种异常在我们访问一个空引用变量中的字段、方法或者对象时会触发。_tinyumbrella安装java.lang.nullpointerexception

如何为微信小程序添加微信支付和小程序支付功能-程序员宅基地

文章浏览阅读120次。获取微信支付相关信息 审核通过后,可以获取到一些重要的信息,包括商户号(mch_id)、密钥(key)、AppID(appid)、AppSecret(appsecret)等。处理支付回调 在用户支付成功后,微信会将支付结果通知到一个指定的URL中。我们需要在自己的服务器上处理这个支付结果,以便更新订单状态等。注册微信商户号 首先,需要在微信支付平台上注册一个微信商户号。生成签名 在发起支付请求之前,需要对请求参数进行签名。在实际的开发中,需要根据自己的业务需求进行参数的设置和处理。

LiteOS内核教程04 | 信号量(用于任务间同步)_信号量如何控制任务间的同步关系-程序员宅基地

文章浏览阅读1.5k次,点赞2次,收藏4次。本文首发于公众号『mculover666』,在学习本教程的过程中,可以登录华为云论坛小熊派板块进行发帖交流!1. LiteOS内核的信号量1.1.信号量在多任务操作系统中,不同的任务之间需要同步运行,信号量功能可以为用户提供这方面的支持。信号量(Semaphore)是一种实现任务间通信的机制,实现任务之间同步或临界资源的互斥访问。1.2. 信号量的使用方式信号量可以被任务获取或者申请..._信号量如何控制任务间的同步关系

随便推点

numpy中的np.c_和np.r_详解_np.r_(newcols,data)-程序员宅基地

文章浏览阅读1.7k次。【时间】2018.12.03【题目】numpy中的np.c_和np.r_详解 一、np.c_和np.r_用于连接两个矩阵np.r_中的r是row(行)的缩写,是按行叠加两个矩阵的意思,也可以说是按列连接两个矩阵,就是把两矩阵上下相加,要求列数相等,类似于pandas中的concat()。n..._np.r_(newcols,data)

【机器学习】决策树(理论)_决策树理论-程序员宅基地

文章浏览阅读1w次,点赞63次,收藏324次。决策树(Decision Tree)是一种分类和回归方法,是基于各种情况发生的所需条件构成决策树,以实现期望最大化的一种图解法。由于这种决策分支画成图形很像一棵树的枝干,故称决策树。它的运行机制非常通俗易懂,因此被誉为机器学习中,最“友好”的算法。决策树由结点和有向边组成。结点有两种类型:内部结点(圆)和叶结点(矩形)。其中,内部结点表示一个特征(属性);叶结点表示一个类别。而有向边则对应其所属内部结点的可选项(属性的取值范围)。_决策树理论

Kubernetes之network: failed to set bridge addr: “cni0“ already has an IP address different from xxx问题_network: failed to set bridge addr: "cni0" already-程序员宅基地

文章浏览阅读818次,点赞2次,收藏3次。1 问题在使用Kubernetes部署应用时发现有Pod一直不能创建成功,使用kubectl describe pods <pod-name> -n <namespace>得到的结果如下图:从上面的截图中看到,问题出现在给Pod分配IP上,意思是cni0的IP不同于10.244.5.1/24,下面我们进入到knode1中使用ifconfig命令查看IP信息,结果如下:从上图中我们可以看到flannel.1的IP为10.244.5.0,然后使用cat /run/fl_network: failed to set bridge addr: "cni0" already has an ip address differe

Kubernetes 服务发布方式(蓝绿发布、灰度发布和滚动发布)-程序员宅基地

文章浏览阅读2.4k次,点赞3次,收藏10次。应用程序升级面临最大挑战是新旧业务切换,将软件从测试的最后阶段带到生产环境,同时要保证系统不间断提供服务。长期以来,业务升级渐渐形成了几个发布策略:蓝绿发布、灰度发布和滚动发布,目的是尽可能避免因发布导致的流量丢失或服务不可用问题。_蓝绿发布

西瓜视频 iOS 播放器技术重构-程序员宅基地

文章浏览阅读3.7k次,点赞3次,收藏8次。动手点关注干货不迷路????播放器简介播放器是西瓜视频等视频类 App 最主要的业务场景,也是最主要的流量入口,其承载包括下层基础播放,上层的各种播放业务:状态栏、弹幕、音量、亮度、评论、点赞、进度、倍速、清晰度、选集、合集、商业化等。西瓜对整个业务播放器做了整体抽象,提供了一套可插拔,可复用的播放器业务框架,包括:视频播放、播控交互、业务拓展。本文播放器是指业务播放器,主..._视频播放软件架构

前端模拟列表的数组数据进行筛选_微信h5页面列表前端按列筛选-程序员宅基地

文章浏览阅读279次。前端模拟列表的数组数据进行筛选_微信h5页面列表前端按列筛选

推荐文章

热门文章

相关标签