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

news2025/2/25 10:16:00

在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 提供了更多的数据。

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

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

相关文章

alertmanager高可用集群的部署方案

目录 alertmanager集群模式如何形成? 先看看prometheus这边怎么配 非容器部署 基于容器部署 alertmanager集群模式如何形成? 官方的:Alertmanager | Prometheus GitHub - prometheus/alertmanager: Prometheus Alertmanager 基本上就是…

C++面试宝典第18题:旋转数组

题目 给定一个数组,将数组中的元素向右移动k个位置,其中k是非负数。要求如下: (1)尽可能想出更多的解决方案,至少有三种不同的方法可以解决这个问题。 (2)使用时间复杂度为O(n)和空间复杂度为O(1)的原地算法解决这个问题。 示例 1: 输入: [1, 2, 3, 4, 5, 6, 7] 和 k…

Vue中的class和style绑定

聚沙成塔每天进步一点点 本文内容 ⭐ 专栏简介动态绑定class对象语法数组语法 动态绑定style对象语法多重值 ⭐ 写在最后 ⭐ 专栏简介 Vue学习之旅的奇妙世界 欢迎大家来到 Vue 技能树参考资料专栏!创建这个专栏的初衷是为了帮助大家更好地应对 Vue.js 技能树的学习…

免费远程控制软件推荐2024最新

远程控制软件在我们的生活和工作中越来越常见,今天给大家分享一个免费的远程控制软件,教你如何使用手机远程控制电脑。 首先,您需要在电脑上安装KKView远程控制软件,该软件提供手机端和桌面端。安装完成后,您将获得一个…

win7添加access的odbc数据源

从控制面板打开odbc数据源;如果像下面没有access的驱动程序, 根据资料,打开C盘-Windows-SysWow64-odbcad32.exe,看一下就有了; 然后添加用户DSN,选中access的驱动程序, 自己输入一个数据源名&am…

Hive基础知识(七):Hive 数据类型全解

1. 基本数据类型 对于 Hive 的 String 类型相当于数据库的 varchar 类型,该类型是一个可变的字符串,不过它不能声明其中最多能存储多少个字符,理论上它可以存储2GB 的字符数。 2. 集合数据类型 Hive 有三种复杂数据类型 ARRAY、MAP 和 STRUCT…

docker 部署项目的操作文档,安装nginx

目录 1 部署环境检查2 相关知识点2.1 docker默认镜像存放地址2.2 docker 的镜像都是tar 包?2.3 Docker-compose 是直接使用镜像创建容器?2.4 Docker Compose down 就是将容器删除?2.5 删除,会删除挂载嘛2.6 DockerFile 和 docker …

远程求职:有什么不同吗?

外面的世界很大,你渴望探索它,但面对现实吧,你必须吃饭。远程工作可能就是答案。下面的博客详细介绍了您需要了解的有关找到工作的细节,同时也可以让您在需要时收拾行李继续前进。 申请任何工作,无论是远程工作还是办…

服务容错-熔断策略之断路器hystrix-go

文章目录 概要一、服务熔断二、断路器模式三、hystrix-go3.1、使用3.2、源码 四、参考 概要 微服务先行者Martin Fowler与James Lewis在文章microservices中指出了微服务的九大特征,其中一个便是容错性设计(Design for failure)。正如文章中提到的,微服…

宋仕强论道之华强北精神和文化(二十一)

华强北的精神会内化再提炼和升华成为华强北文化,在外部会流传下去和传播开来。在事实上的行动层面,就是华强北人的思维方式和行为习惯,即见到机会就奋不顾身敢闯敢赌,在看似没有机会的时候拼出机会,和经济学家哈耶克企…

【OSG案例详细分析与讲解】之四:【3D动画场景】

文章目录 一、【3D动画场景】前言 二、【3D动画场景】实现效果 三、【3D动画场景】创建动画路径 1、实现目的 2、创建动画路径步骤 3、核心代码 4、知识要点 5、AnimationPath详讲 四、【3D动画场景】创建基础模型 1、实现目的 2、创建基础模型步骤 3、核心代码 4、知识要点 5、…

openssl3.2 - 官方dmeo学习 - server-arg.c

文章目录 openssl3.2 - 官方dmeo学习 - server-arg.c概述笔记备注END openssl3.2 - 官方dmeo学习 - server-arg.c 概述 TLS服务器, 等客户端来连接; 如果客户端断开了, 通过释放bio来释放客户端socket, 然后继续通过bio读来aceept. 笔记 对于开源工程, 不可能有作者那么熟悉…

uniapp 字母索引列表插件(组件版) Ba-SortList

简介(下载地址) Ba-SortList 是一款字母索引列表组件版插件,可自定义样式,支持首字母字母检索、首字检索、搜索等等;支持点击事件。 支持首字母字母检索支持首字检索支持搜索支持点击事件支持长按事件支持在uniapp界…

VMware vSphere运维管理手册

适用版本:VMware vSphere 7.0 VMware vSphere 是 VMware 的虚拟化平台,可将数据中心转换为包括 CPU、存储和网络资源的聚合计算基础架构。vSphere 将这些基础架构作为一个统一的运行环境进行管理,并为您提供工具来管理加入该环境的数据中心。 ![[Pasted image 20231212132…

数据库原理与应用期末复习试卷1

数据库原理与应用期末复习试卷1 一.单项选择题 数据库系统是采用了数据库技术的计算机系统,由系统数据库,数据库管理系统,应用系统和(C)组成。 ​ A.系统分析员 B.程序员 C.数据库管理员 D.操作员 数据库系统的体系…

YOLOv5改进 | 检测头篇 | DynamicHead支持检测和分割(不同于网上版本,全网首发)

一、本文介绍 本文给大家带来的改进机制是DynamicHead(Dyhead),这个检测头由微软提出的一种名为“动态头”的新型检测头,用于统一尺度感知、空间感知和任务感知。网络上关于该检测头我查了一些有一些魔改的版本,但是我觉得其已经改变了该检测头的本质,因为往往一些细节上才…

解决STM32F7系列芯片TIM无法触发ADC采样的问题

我在测试STM32F746 ADC DMA TIM 做AD采样时候发现 使用cubeMX 库生成的代码无法进入DMA中断,发现官方勘误手册有做解释,需要打开DAC时钟。如下 如上图,在ADC初始化代码中加入 __HAL_RCC_DAC_CLK_ENABLE();

统一密钥管理在信息安全领域有什么作用

统一密钥管理在信息安全领域中至关重要。它可以确保密钥的安全性、保密性和可用性,同时降低开发、维护和管理的成本。 对于没有KMS(密钥管理服务)管理系统的公司,密钥的本地化管理可能导致密钥分散在代码、配置文件中,缺乏统一管理&#xff0…

999合1超级简易文字菜单组件

引言 超级简易文字菜单组件 大家好,相信大家都玩过那个999合1的游戏,特别是那个菜单。 在游戏开发中,往往会有形式各异的游戏菜单,游戏菜单和菜单一样主要是给玩家选择开始游戏、设置、排行榜等功能的。 本文将分享一下笔者在…

【MMC子系统】四、MMC控制器驱动层

我的圈子: 高级工程师聚集地 我是董哥,高级嵌入式软件开发工程师,从事嵌入式Linux驱动开发和系统开发,曾就职于世界500强企业! 创作理念:专注分享高质量嵌入式文章,让大家读有所得! …