linux内存/cpu利用率 引出vmstat命令 free命令

Clion+platformIO开发ESP32时找不到lib文件中引入第三方库的头文件(头文件下有波浪线),实际编译是成功的解决方法 Clion+platformIO开发ESP引入第三方库文件编译器无法找到.h文件但编译成功 阅读详情

1.内存占用率=内存占用/总内存
memrate=memused/memtotal
我们通过free命令获取系统内存的占用情况。
free命令的原地址:
http://www.cnblogs.com/coldplayerest/archive/2010/02/20/1669949.html
讲的详细且形象,我在这只进行一些简单的整理。

下面是free的运行结果,一共有4行。为了方便说明,我加上了列号。这样可以把free的输出看成一个二维数组FO(Free Output)。例如:

FO[2][1] = 24677460
FO[3][2] = 10321516  
                   1          2          3          4          5          6
1              total       used       free     shared    buffers     cached
2 Mem:      24677460   23276064    1401396          0     870540   12084008
3 -/+ buffers/cache:   10321516   14355944
4 Swap:     25151484     224188   24927296

free的输出一共有四行,第四行为交换区的信息,分别是交换的总量(total),使用量(used)和有多少空闲的交换区(free),这个比较清楚,不说太多。
第一行的输出时从操作系统(OS)来看的。也就是说,从OS的角度来看,计算机上一共有:

24677460KB(缺省时free的单位为KB)物理内存,即FO[2][1];
在这些物理内存中有23276064KB(即FO[2][2])被使用了;
还用1401396KB(即FO[2][3])是可用的;

这里得到第一个等式:

FO[2][1] = FO[2][2] + FO[2][3]

FO[2][4]表示被几个进程共享的内存的,现在已经deprecated,其值总是0(当然在一些系统上也可能不是0,主要取决于free命令是怎么实现的)。

FO[2][5]表示被OS buffer住的内存。FO[2][6]表示被OS cache的内存。在有些时候buffer和cache这两个词经常混用。不过在一些比较低层的软件里是要区分这两个词的,看老外的洋文:

A buffer is something that has yet to be "written" to disk. 
A cache is something that has been "read" from the disk and stored for later use.

也就是说buffer是用于存放要输出到disk(块设备)的数据的,而cache是存放从disk上读出的数据。这二者是为了提高IO性能的,并由OS管理。
这里还用两个等式:

FO[3][2] = FO[2][2] - FO[2][5] - FO[2][6]
FO[3][3] = FO[2][3] + FO[2][5] + FO[2][6]

那么,我们用来计算内存占用率的占用内存其实是F0[3][2],即内存的总占用-buffer/cache(能被系统快速收回的内存)
总内存就是F0[2][1]
memrate=F0[3][2]/F0[2][1]
命令行:
memused=free -k | tail -2 | head -1|awk ‘{print $3}’
memtotal=free -k | tail -3 | head -1|awk ‘{print $2}’

2.获取cpu利用率
我们可以通过vmstat命令来获取cpu利用率
vmstat命令原地址:
http://www.cnblogs.com/ggjucheng/archive/2012/01/05/2312625.html

一般vmstat工具的使用是通过两个数字参数来完成的,第一个参数是采样的时间间隔数,单位是秒,第二个参数是采样的次数,如:

root@ubuntu:~# vmstat 2 1
procs -----------memory---------- ---swap-- -----io---- -system-- ----cpu----
 r  b   swpd   free   buff  cache   si   so    bi    bo   in   cs us sy id wa
 1  0      0 3498472 315836 3819540    0    0     0     1    2    0  0  0 100  0

id      空闲 CPU,一般来说,id + us + sy = 100,一般我认为id是空闲CPU使用率,us
        是用户CPU使用率,sy是系统CPU使用率。

在计算cpurate的时候,建议多获取几次,尤其是在脚本里获取cpyrate时,一般只获取一次是不准确的,建议在脚本里取两次以上并排除掉第一次的数据。
如:

id=vmstat 1 2|tail -1 | awk '{print $15}'

获取第二次的空闲cpurate = 1-id%
【Flutter 面试题】 怎么减少Widget的重新构建? 关于 const 关键字的使用:在 Flutter 开发中,任何时候当你确定一个 Widget 在其整个生命周期内都不会发生变化时,使用 const 关键字声明这个 Widget。这样的声明告诉 Flutter 框架这个 Widget 可以在编译时生成,后续的构建周期中可以重用已经创建的 Widget,从而避免了重复的构建开销。这适用于静态文本、图标或整个不变的 Widget 树。 阅读详情

相关推荐

Docker环境下onlyOffice 7.5.1破解版部署全攻略(含ARM架构适配)

本文提供了在Docker环境中部署OnlyOffice 7.5.1破解版的完整实战指南。内容涵盖x86与ARM架构服务器的详细部署步骤、环境配置、持久化存储设置以及生产环境下的安全与性能优化。重点解决了ARM架构适配的常见问题,并分享了使用Docker Compose进行服务编排和日常维护的技巧,帮助用户快速搭建私有化文档协作平台。

redis7keeper的博客 353

java获取JVM的CPU占用率、内存占用率、线程数及服务器的网口吞吐率、磁盘读写速率

怎么说呢,本人菜鸟一枚,费了几天时间,终于做了一个用java获取JVM的CPU占用率、内存占用率、线程数及服务器的网口吞吐率、磁盘读写速率的实现。 其中windows环境下获取jvm 的cpu占用率这里是参考网上别人的东西(在此感谢提供参考的网友),其他的都是基于自己的想法做出来的。该工具类亲测 在win7 64位系统和CentOS6系统没有问题,其他的暂时没有测过,欢迎高手指教,勿喷勿喷,感谢...

非衣鲲化的博客 4078

宜搭,高级认证实操2,FaaS连接器指导教程

找到FaasEntry.java将如下代码整体替换,注意引包。如图所示在util下新建EDSUtil.java代码如下。回到连接器界面点击右上角测试-->测试。连接器工厂-->新建FaaS连接器。保存-->前往云IDE开发。返回如图所示代码,部署成功。

2301_80286061的博客 3342

Linux vmstat命令实战详解

Linux vmstat命令实战详解 vmstat命令是最常见的Linux/Unix监控工具,可以展现给定时间间隔的服务器的状态值,包括服务器的CPU使用率,内存使用,虚拟内存交换情况,IO读写情况。这个命令是我查看Linux/Unix最喜爱的命令,一个是Linux/Unix都支持,二是相比top,我可以看到整个机器的CPU,内存,IO的使用情况,而不是单单看到各个进程的CPU使用率和内存使用率(使用场景不一样)。 一般vmstat工具的使用是通过两个数字参数来完成的,第一个参数是采样的时间间隔数,单位

647

Godot 2D游戏开发实战:用GDScript复刻10款经典小游戏(附完整源码)

本文是一份Godot 2D游戏开发实战指南,通过使用GDScript语言复刻10款经典小游戏,帮助开发者快速掌握引擎核心功能。内容涵盖从环境配置、GDScript基础到贪吃蛇、Flappy Bird、打砖块、俄罗斯方块等项目的核心逻辑与代码实现,并附有完整源码,旨在通过实践提升独立开发能力。

gold的博客 778

基因家族Motif 分析

MEME

hgz2020的博客 6317

vmstat详解

一、解读内存 二、解读CPU 1. 运行队列 2. CPU使用率 3. 上下文切换 三、系统监控的实验 实例一,大量的算术运算 实例二,大量的系统调用 实例三,大量的io操作 实例四:大量的占用内存 实例五:又一个大量分配内存例子 四、vmstat用法 1. 查看系统已经fork了多少次 2. 查看内存的active和inactive 3. 查看内存使用的

qq_42720845的博客 6477

ArcMap新手必看:Shape属性中的点ZM值到底是什么?如何快速处理

本文深入解析ArcMap中Shape属性中的点ZM值,揭示其在GIS数据中的隐藏维度作用,包括Z值(高程值)和M值(测量值)。针对ZM值可能引发的服务发布问题,提供三种高效处理方案,帮助新手快速掌握数据导入时的ZM值管控策略及精准去除方法。

weixin_42561476的博客 431

linux进阶篇:性能监控工具——vmstat命令详细讲解

Linux性能监控工具:vmstat命令详细讲解vmstat是Virtual Meomory Statistics(虚拟内存统计)的缩写,可对操作系统的虚拟内存、进程、CPU活动进行监控。是对系统的整体情况进行统计,不足之处是无法对某个进程进行深入分析。

qq_39241682的博客 1万+

RK平台PCIE-Ethernet扩展:Intel I210移植与性能飞升之路

本文详细介绍了Intel I210千兆以太网控制器在瑞芯微RK平台的移植与优化过程。通过硬件适配、内核配置、驱动开发及性能调优四个关键环节,实现了RK平台的网络性能提升。硬件方面,重点说明了PCIE接口的规范连接与供电检查;软件方面,系统阐述了内核配置、设备树修改和驱动编译流程。在性能优化环节,详细介绍了中断优化、缓冲区设置和TCP/IP协议栈调优策略,并采用Iperf和Netperf工具进行量化测试验证。测试结果显示,优化后的网络吞吐量提升20%以上,延迟降低40%,为工业控制、智能安防等场景提供了可靠的

远程部署调试 运行安装 项目调试 二次开发 项目技术新 持续迭代 部分源码免费分享 350

【WorkBuddy从入门到精通实战教程】使用手册 第 2 章 WorkBuddy的下载、安装、登录与更新

摘要:WorkBuddy官方下载地址为https://www.codebuddy.cn/work/,支持Mac和Windows系统,需根据设备自动匹配版本。安装时需核对发布者信息,Mac用户需拖入应用程序文件夹。登录支持微信扫码或手机号,公司电脑安装需IT授权。更新通过个人中心检查,遇到安装包损坏、登录失败或文件读写问题时,建议重新下载、检查网络/权限或联系官方支持。重要文件建议定期备份,避免直接操作原文件。(149字)

企鹅码农的专属播客,分享10多年的实战案例和经验解读,包含YOLO、RT-DETR、AI等各个工作领域。 1826

Linux运维04:vmstat命令详解

vmstat主要是用来检测虚拟内存的,可以展现给定时间间隔的服务器的状态值,包括CPU使用率,内存使用率,虚拟内存交换情况,IO读写情况等。

渡江客涂鸦板 5355

使用Matlab实现海洋监视雷达检测仿真

海洋监视雷达是一项重要的海洋探测技术,可以用于海上船只、飞机、潜艇等目标的探测和监视,具有广泛的应用价值。本篇文章将介绍如何使用Matlab进行海洋监视雷达的检测仿真,并提供相应的源代码。本篇文章提供了利用Matlab进行海洋监视雷达检测仿真的基本思路和代码实现。读者可以根据自己的需求进行修改和优化,以适应不同的应用场景。使用Matlab实现海洋监视雷达检测仿真。

2301_78484069的博客 448

服务器内存排查:free、vmstat、sar命令实战精要

Linux服务器运维中,内存问题是程序卡顿的常见原因。本文介绍了free、vmstat、sar三大内存排查命令: free命令:快速查看内存使用情况,重点观察available值(free+buff/cache),低于总内存10%需警惕;Swap使用说明内存不足。 vmstat命令:综合监测内存/CPU/IO状态,关注swpd(Swap使用)、si/so(Swap交换频率)、wa(IO等待时间),数值异常表明存在性能瓶颈。 sar命令:适合长期监控内存趋势,可设置采样间隔,帮助分析内存使用变化规律。 这三个

码到三十五 1万+

VC中sqlite的使用

在VC中对sqlite的使用,实现数据库大批数据的快速插入,读取数据库中的数据在ListCtrl中显示

C# WinForm 基于DirectShow.dll编写的程序,可边预览边保存视频,音频和图片

基于微软的DirectShow.dll的二次开发1.自动识别连接的摄像头跟麦克风且可以对其进行选择(默认选中第一个)2.可录制wmv和avi两种格式的视频并且都带有音频,avi可以录制的分辨率和帧数进行选择,wmv默认进行了淸晰度优化如不喜欢可去除代码中有相关提示3.可在预览点开之后进行拍照,也可边录制视频边拍照4.添加了视频和音频的压缩功能(酌情使用)这次二次开发发现C#对DirectShow的相关信息太少,这次做完也不敢藏私共享出来,还望大家指正

性能监控之 Linux 命令 top、vmstat、iostat、free、iftop 基础

文章目录一、前言二、top三、vmstat四、iostat五、free六、iftop 一、前言 “子曰:“温故而知新,可以为师矣。” -----《论语》 二、top 执行命令: top [-] [d] [p] [q] [c] [C] [S] [s] [n] 参数说明: d:指定每两次屏幕信息刷新之间的时间间隔。当然用户可以使用 s 交互命令来改变之。 p:通过指定监控进程 ID 来仅仅监控某个进程的状态。 q:该选项将使 top 没有任何延迟的进行刷新。如果调用程序有超级用户权限,那么top将以

7DGroup,让技术更有价值! 5700

TMS_WebGMaps_1.9.8.0_Full_Source

TMS_WebGMaps_1.9.8.0_Full_Source 全源码 delphi cbuilder

Linux  内存详解,即top、free、vmstat、meminfo、Buffer和Cache的介绍

温故而知新,可以为师矣。 top linux下的任务管理器 top命令是Linux下常用的性能分析工具,能够实时显示系统中各个进程的资源占用状况,类似于Windows的任务管理器。top是一个动态显示过程,即可以通过用户按键来不断刷新当前状态.如果在前台执行该命令,它将独占前台,直到用户终止该程序为止.比较准确的说,top命令提供了实时的对系统处理器的状态监视.它将显示系统中CPU最“敏感”的任务列表.该命令可以按CPU使用.内存使用和执行时间对任务进行排序;而且该命令的很多特性都可以通过...

zzhongcy的专栏 7712

android 蓝牙通讯demo

android 下蓝牙通讯demo,实现了发现蓝牙,使能蓝牙,通过蓝牙发送消息。

服务器内存排查:free、vmstat、sar命令实战精要讲解!

服务器内存排查:free、vmstat、sar命令实战精要讲解!

https://ophome.blog.youkuaiyun.com,在IT行业有多年的工作经验,尤其是在Python、Linux、负载均衡、Nginx和服务器运维等领域。 1386

linux中监控CPU、内存和磁盘状态的shell脚本。(centos7)

  这篇博客中所写的脚本,在实际工作中并没有什么卵用,工作中并不会用到这种脚本去监控。不过自己写一遍,可以让初学者对CPU、内存、磁盘等一些基础知识和基础命令更加了解。 1、利用vmstat工具监控CPU详细信息,然后基于/proc/stat计算CPU利用率进行监控,超过80报警并提取出占用cpu最高的前十进程。 vmstat是Linux系统监控工具,使用vmstat命令可以得到关于...

5067

Linux服务器如何查看CPU使用率、内存占用情况

Linux服务器如何查看CPU使用率、内存占用情况Top命令Free命令Vmstat命令 作为Linux运维工程师,系统维护过程中,需要我们经常查看CPU使用率、内存使用率、带宽占用,从资源使用的程度分析系统整体的运行情况。 在 Linux 上查看资源使用情况有很多命令可以参考,CPU、内存、IO、NETWORK等资源使用情况都可以通过某些命令查询到,今天飞飞将详细的讲解CPU使用和内存使用情况的查看方式。 Top命令 Top命令很常用,在第三行有显示CPU当前的使用情况。 字段说明: PID:进程

我是飞飞啊,不一定温柔,但一定自由 8874

linux vmstat命令 查看CPU

vmstat 主要查看cpu的linux 命令后,CPU vmstat(Virtual Memory Statistics 虚拟内存统计) 命令用来显示Linux系统虚拟内存状态,也可以报告关于进程、内存、I/O等系统整体运行状态。 参数介绍 -a:显示活跃和非活跃内存 -f:显示从系统启动至今的fork数量 。 -m:显示slabinfo -n:只在开始时显示一次各字段名称。 -s:显示内存...

weixin_39150719的博客 1142

Linux 内存详解,即top、free、vmstat、meminfo、Buffer和Cache的介绍

不过Cache概念可能容易混淆,我理解为CPU本身就有Cache,包括一级缓存、二级缓存、三级缓存,我们知道CPU所有的指令操作对接的都是内存,而CPU的处理能力远高于内存速度,所以为了不让CPU资源闲置,Intel等公司在CPU内部集成了一些Cache,但毕竟不能放太多电路在里面,所以这部分Cache并不是很大,主要是用来存放一些常用的指令和常用数据,

dream8062的专栏 4324

利用shell脚本监控linux中CPU、内存和磁盘利用率

这篇博客中所写的,在实际工作中并没有什么卵用,工作中并不会用到这种脚本去监控。不过自己写一遍,可以让初学者对CPU、内存、磁盘等一些基础知识和基础命令更加了解。 1、利用vmstat工具监控CPU详细信息,然后基于/proc/stat计算CPU利用率进行监控,超过80报警并提取出占用cpu最高的前十进程。 vmstat是Linux系统监控工具,使用vmstat命令可以得到关于进程、内存、内存分页、堵塞IO、traps及CPU活动的信息。 r:运行队列中的进程数;b:等待IO的进程数。 swpd:

wangl2014的专栏 3148

Linux服务器如何查看CPU占用率、内存占用、带宽占用

Linux服务器如何查看CPU占用率、内存占用、带宽占用

阿松哥哥2018的博客 1万+

Linux内存性能问题诊断与优化:基于vmstat与free的深入解析

内存问题是Linux性能测试中常见的挑战之一。通过vmstat和free等工具,我们可以清楚了解系统的内存使用状况,并及时发现和解决内存溢出、内存泄漏等问题。掌握这些工具的使用,可以帮助我们在性能测试中更加准确地定位内存瓶颈并优化系统。

zx893404890的博客 1388

Linux vmstat 命令

Linux vmstat 命令摘要 vmstat 是 Linux 系统中用于监控虚拟内存、CPU、I/O 和系统性能的核心工具。它通过读取 /proc 文件系统提供实时统计数据,包括内存使用、CPU 负载、磁盘 I/O 和进程状态等关键指标。

gongwanzhang的博客 787

使用命令在Linux中查看CPU和MEM利用率

使用命令在Linux中查看CPU和MEM利用率 0、查看CPU或者MEM可以一般使用top、free等,除此之外还可以用其他方式 查看CPU工具 1、mpstat: [root@moc ~]# mpstat 1 5 Linux 3.10.0-1127.13.1.el7.x86_64 (moc) 09/03/2020 _x86_64_ (1 CPU) 01:42:59 AM CPU %usr %nice %sys %iowait %irq %soft %steal %gu

zdl244的博客 2697
上一篇: centos6.7 网卡配置文件参数
下一篇: const和#define
tzh_linux
博客等级 码龄12年 12粉丝 117原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值