如何查看Ubuntu内存的使用情况

在Linux系统中,了解内存使用情况对于系统管理和性能优化非常重要。以下是一些常用的命令,以及它们的详细使用说明:

1. free 命令

  • 用途: free 命令用于显示系统中空闲和已用的物理内存及交换内存。
  • 示例:
    • 输入命令: free -m
    • 输出解释: 这将以MB为单位显示内存使用情况。输出包括总计内存、已用内存、空闲内存、共享内存、缓存/缓冲区内存和可用内存。
    • 假设你在Ubuntu终端中运行了 free -m 命令,你可能会看到类似以下的输出:
      • 这里是每一列数据的解释:

                     total: 显示系统总共的物理内存量(MB)。
                     used: 显示已经被使用的内存量(MB)。
                     free: 显示还未被使用的内存量(MB)。
                     shared: 显示多个进程共享的内存总量(MB)。
                     buff/cache: 显示被缓存和缓冲区使用的内存量(MB)。
                     available: 显示可供应用程序使用的内存量(MB),考虑了缓存和缓冲区的内存。

                     在这个例子中,系统总共有3912MB的物理内存。
                     其中1234MB已被使用,1024MB仍然空闲。
                     有1654MB的内存被用作缓存和缓冲区。
                     可用于新应用程序的内存量是2500MB。

2. top 命令

注意事项

  • 用途: top 命令提供了一个实时的系统状态动态视图,包括CPU和内存的使用情况。
  • 命令格式: top
  • 选项:
    • -d: 指定更新间隔。
    • -p: 监控特定的进程ID。
    • -u: 显示特定用户的进程。
  • 当你在终端中运行 top 命令时,你会看到类似以下的输出:

  •  

  • 第一行:

    • 显示当前时间、系统运行时间、登录用户数和系统负载平均值(过去1分钟、5分钟和15分钟)。
  • 第二行(Tasks):
    • 显示进程总数、运行中的、睡眠中的、停止的和僵尸进程数。
  • top 命令的输出是实时更新的,可以通过按键进行交互,如按 P 按CPU使用率排序,按 M 按内存使用率排序。
  • 第三行(%Cpu(s)):
    • 显示CPU使用情况,包括用户空间占用(us)、系统空间占用(sy)和空闲(id)等。
  • 内存和交换空间行:
    • 显示物理内存和交换空间的总量、使用量、空闲量和缓冲/缓存量。
  • 进程列表:
    • 每行显示一个进程的信息,包括进程ID(PID)、用户(USER)、优先级(PR)、虚拟内存(VIRT)、常驻内存(RES)、共享内存(SHR)、状态(S)、CPU和内存占用比例(%CPU、%MEM)以及运行时间(TIME+)和命令(COMMAND)。

3. vmstat 命令

  • 用途: vmstat(虚拟内存统计)显示关于系统进程、内存、交换、I/O等的信息,vmstat 提供了实时系统性能信息。
  • 命令格式: vmstat [选项] [延迟 [次数]]
  • 常用选项:
    • 无参数: 显示基本的系统性能统计。
    • -s: 显示内存相关的详细统计信息。
    • -a: 显示活跃和非活跃内存。
    • 1 5: 第一个数字表示每隔多少秒更新一次数据,第二个数字表示更新多少次。
  • 假设您在终端中运行了 vmstat 1 5,这表示每隔1秒更新一次数据,共更新5次。您可能会看到类似以下的输出:

  • procs
    • r: 等待运行的进程数。
    • b: 处于不可中断睡眠状态的进程数。
  • memory
    • swpd: 使用的虚拟内存量(KB)。
    • free: 空闲的物理内存量(KB)。
    • buff: 用作缓冲的内存量(KB)。
    • cache: 用作缓存的内存量(KB)。
  • swap
    • si: 从磁盘交换到内存的内存量(KB/s)。
    • so: 从内存交换到磁盘的内存量(KB/s)。
  • io
    • bi: 从块设备接收的块数(块/s)。
    • bo: 发送到块设备的块数(块/s)。
  • system
    • in: 每秒中断次数,包括时钟中断。
    • cs: 每秒上下文切换次数。
  • cpu(以百分比表示)
    • us: 用户空间占用的CPU百分比。
    • sy: 内核空间占用的CPU百分比。
    • id: 空闲的CPU百分比。
    • wa: 等待I/O的CPU时间百分比。
    • st: 被偷取的时间(在虚拟环境中其他操作系统占用的CPU时间)。

注意事项

  • vmstat 提供的是系统的瞬时状态,连续观察输出可以帮助识别系统的性能瓶颈。
  • 如果 siso 的值较高,可能表示系统正在频繁使用交换空间,这可能是内存不足的迹象。
  • wa 值可能表示I/O性能问题。

通过这种方式,vmstat 命令为你提供了一个实时的、综合的系统状态视图,帮助你监控和诊断Ubuntu系统的性能问题。

4. htop 命令

使用方法

  • htop 是一个交互式的进程查看器,是 top 命令的增强版,提供了一个更友好的用户界面和更多的功能,包括彩色显示、垂直和水平滚动以及直接操作进程(如杀死进程)。
  • 交互式界面htop 提供了一个基于文本的图形界面,比 top 更易于使用和理解。

  • 彩色显示:不同的颜色代表不同类型的信息,如CPU、内存、交换空间使用情况。

  • 易于操作:可以使用键盘快捷键轻松地进行操作,如杀死进程、调整优先级等。

  • 实时更新:进程和资源使用情况实时更新。

  • 自定义视图:用户可以选择要显示的列和排序方式。

  • 树形显示:可以以树状结构显示进程,这有助于查看进程之间的父子关系。

  • 安装:可以使用 sudo apt-get install htop

  • 启动:在终端中输入 htop 命令启动。

  • 查看进程:打开后,你会看到一个按CPU使用率排序的进程列表。

  • 操作

    • 杀死进程:使用 F9 键选择要结束的进程。
    • 排序:通过 F6 选择不同的排序标准。
    • 搜索:使用 F3 搜索特定进程。
    • 过滤:使用 F4 过滤进程列表。
  • 配置:可以通过 F2 进入设置菜单,自定义 htop 的外观和行为。

  • 退出:使用 F10q 键退出 htop

  • htop 需要适当的权限来查看和管理所有进程。在需要时,可以使用 sudo 来启动 htop
  • htop 对于系统监控和故障排查非常有用,特别是在处理资源密集型的应用或服务时。

5.总结

  • 在使用这些命令时,建议定期检查以了解系统的内存使用情况。
  • 对于初学者来说,freetop 命令是最容易上手的。
  • 如果你需要更详细的信息,vmstat和htop 提供了更多的数据。

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

flutter 打包IOS及常用配置

修改APP名称 项目名字配置是在 ios/Runner/Info.plist 文件中的 dict 下的 CFBundleName testapp 。如下图所示: String里面就可以修改名称 修改项目 (testapp)的 Logo 图标 iOS 项目 Logo的配置是在 ios/Runner/Assets.xcassets/AppIcon.appiconset 文…

【LangChain学习之旅】—(5) 提示工程(上):用少样本FewShotTemplate和ExampleSelector创建应景文案

【LangChain学习之旅】—(5) 提示工程(上):用少样本FewShotTemplate和ExampleSelector创建应景文案 提示的结构LangChain 提示模板的类型使用 PromptTemplate使用 ChatPromptTemplateFewShot 的思想起源使用 FewShotPr…

冠军团队!第二届百度搜索创新大赛AI方案

Datawhale干货 作者:李柯辰,Datawhale成员 写在前面 大家好,我们是2023年第二届百度搜索创新大赛 赛道三——AI应用设计赛道的冠军团队——“肝到凌晨”,很高兴能与大家分享我们这次比赛的经验,同时也希望以后有机会可…

RocketMQ 消费重试

消费者出现异常,消费某条消息失败时, Apache RocketMQ 会根据消费重试策略重新投递该消息进行故障恢复。本文介绍消费重试机制的原理、版本兼容性和使用建议。 一、应用场景​ Apache RocketMQ 的消费重试主要解决的是业务处理逻辑失败导致的消费完整性…

从0到1入门C++编程——05 类和对象之运算符重载、继承

文章目录 运算符重载1.加号运算符重载2.左移运算符重载3.递增运算符重载4.赋值运算符重载5.关系运算符重载6.函数调用运算符重载 继承1.继承的基本语法及继承方式2.继承中的对象模型3.继承中构造函数和析构函数的顺序4.继承中同名成员的处理方式5.继承中同名静态成员处理方式6.…

Unity中URP下实现能量罩(交接处高亮)

文章目录 前言一、交接处高亮 原理1、 我们先用一个球作为能量罩、一个Cube 和 一个 椭球 作为与能量罩交接的物体2、 这是我们目前场景的深度图3、使能量罩为 半透明渲染队列 且 关闭深度写入 不渲染深度图 二、交接处高亮 实现1、得到深度图2、在片元着色器中,对深…

重新认识Elasticsearch-一体化矢量搜索引擎

前言 2023 哪个网络词最热?我投“生成式人工智能”一票。过去一年大家都在拥抱大模型,所有的行业都在做自己的大模型。就像冬日里不来件美拉德色系的服饰就会跟不上时代一样。这不前段时间接入JES,用上好久为碰的RestHighLevelClient包。心血…

静态网页设计实践(HTML+CSS)

一、前端程序员必会三大编程语言 (一)HTML(.html/.htm) 超文本标记语言(HyperText Markup Language,简称:HTML)是一种用于创建网页的标准标记语言。HTML是一种基础技术,常与CSS、Ja…

YOLOv8改进 | 二次创新篇 | 结合iRMB和EMA形成全新的iEMA机制(全网独家创新)

一、本文介绍 本文给大家带来的改进机制是二次创新的机制,二次创新是我们发表论文中关键的一环,为什么这么说,从去年的三月份开始对于图像领域的论文发表其实是变难的了,在那之前大家可能搭搭积木的情况下就可以简单的发表一篇论文,但是从去年开始单纯的搭积木其实发表论…

JWT的初级认识

文章目录 一.什么是JWT二.JWT能够做什么1.授权2.信息交换 三.为什么我们使用JWT传统的基于session的认证流程基于JWT认证1.认证流程2.jwt优势 四.JWT的结构是什么Header的组成4.2 Header4.3 Payload4.4 Signature签名目的 五.使用JWT5.1 引入JWT依赖5.2 生成token5.3 根据令牌和…

vue element-ui的table列表中展示缩略图片效果实例

这篇文章主要给大家介绍了关于vue element-ui的table列表中展示多张图片(可放大)效果的相关资料,文中通过代码示例介绍的非常详细,需要的朋友可以参考下 一、效果图 二、代码部分 1、原理 使用 <el-table-column> 和 <el-image> 组件来在表格中插入缩略图 2、te…

回归预测 | Matlab基于SO-LSTM蛇群算法优化长短期记忆神经网络的数据多输入单输出回归预测

回归预测 | Matlab基于SO-LSTM蛇群算法优化长短期记忆神经网络的数据多输入单输出回归预测 目录 回归预测 | Matlab基于SO-LSTM蛇群算法优化长短期记忆神经网络的数据多输入单输出回归预测效果一览基本介绍程序设计参考资料 效果一览 基本介绍 1.Matlab基于SO-LSTM蛇群算法优化…

py的循环语句(for和while)

前言&#xff1a;本章节和友友们探讨一下py的循环语句&#xff0c;主播觉得稍微有点难主要是太浑了&#xff0c;但是会尽量描述清楚&#xff0c;OK上车&#xff01;&#xff08;本章节有节目效果&#xff09; 目录 一.while循环的基本使用 1.1关于while循环 1.2举例 1.31-1…

TensorFlow相关组件的安装

安装Anaconda3 安装Anaconda3的时候可以安装在任意磁盘中&#xff0c;在勾选path的时候全部勾选即可。更换Anaconda3的下载源为清华大学源&#xff0c;在此期间不要打开Anaconda3&#xff0c;在cmd中依次输入以下即可&#xff1a; conda config --add channels https://mirro…

【JaveWeb教程】(17) MySQL数据库开发之 MySQL简介、安装、数据类型、SQL通用语法 详细代码示例讲解

目录 前言1. MySQL概述1.1 安装1.1.1 版本1.1.2 安装1.1.3 连接1.1.4 企业使用方式(了解) 1.2 数据模型1.3 SQL简介1.3.1 SQL通用语法1.3.2 分类 前言 在我们讲解SpringBootWeb基础知识(请求响应案例)的时候&#xff0c;我们讲到在web开发中&#xff0c;为了应用程序职责单一&…

搜索与图论第一期 DFS(深度优先搜索)

前言 DFS这部分难度不大&#xff0c;大家应该完全掌握&#xff01;&#xff01;&#xff01; 一、DFS的基本内容 内容&#xff1a; 深度优先遍历图的方法是&#xff0c;从图中某顶点v出发&#xff1a; &#xff08;1&#xff09;访问顶点v&#xff1b; &#xff08;2&#…

Element Plus 离线手册 下载

Element Plus (Vue3) 离线手册&#xff0c;解压就能用&#xff0c;双击运行&#xff0c;浏览器访问 http://localhost:7011 获取方式&#xff1a;原文关注微信公众号&#xff0c;回复消息&#xff1a;7011ELP Element Plus 离线手册 下载Vue3 Element Plus 离线手册 离线文档 …

【教学类-45-05】X-Y之间的三连加减题混合 (横向排列)(44格:11题“++ ”11题“--”11题“ +-”11题“ -+” )

作品展示&#xff1a; 背景需求&#xff1a; 把以下四款3连题 混在一起&#xff0c;每种题目随机抽取11题&#xff0c;一共44格 【教学类-45-02】X-Y之间的“三连减“题(a-b-c)-CSDN博客文章浏览阅读465次&#xff0c;点赞15次&#xff0c;收藏7次。【教学类-45-02】X-Y之间的…

【算法】最佳牛围栏(二分,前缀和,双指针)

题目 农夫约翰的农场由 N 块田地组成&#xff0c;每块地里都有一定数量的牛&#xff0c;其数量不会少于 1 头&#xff0c;也不会超过 2000 头。 约翰希望用围栏将一部分连续的田地围起来&#xff0c;并使得围起来的区域内每块地包含的牛的数量的平均值达到最大。 围起区域内…

Apache ActiveMQ RCE CNVD-2023-69477 CVE-2023-46604

漏洞简介 Apache ActiveMQ官方发布新版本&#xff0c;修复了一个远程代码执行漏洞&#xff0c;攻击者可构造恶意请求通过Apache ActiveMQ的61616端口发送恶意数据导致远程代码执行&#xff0c;从而完全控制Apache ActiveMQ服务器。 影响版本 Apache ActiveMQ 5.18.0 before …