首页 > 系统相关 >Linux内存操作之free命令

Linux内存操作之free命令

时间:2024-08-31 17:56:07浏览次数:11  
标签:显示 缓存 -- free used 内存 Linux

在这里插入图片描述

在Linux操作系统中,free 命令是一个非常重要的工具,用于显示系统内存(包括物理内存和交换空间)的使用情况。

基本语法

free [选项]

常用选项

  • -b--bytes:以字节为单位显示内存信息。
  • -k--kilo:以千字节(KB)为单位显示内存信息。
  • -m--mega:以兆字节(MB)为单位显示内存信息(这是最常见的选项)。
  • -g--giga:以吉字节(GB)为单位显示内存信息。
  • -h--human:以人类可读格式(例如1K, 2M, 3G等)显示内存信息。
  • -s <秒数>--seconds=<秒数>:连续输出内存使用情况,每次间隔指定的秒数。
  • -t--total:在输出中添加总内存和总交换空间行。
  • -c--cache:显示缓冲与缓存的总量。
  • -w--wide:宽屏输出,适合更宽的终端窗口。

输出内容详解

运行 free -m 后得到的信息通常包含以下几列:

Mem
  1. total: 表示系统的总物理内存大小(RAM)。
  2. used: 当前已被分配和使用的内存大小,这包括了应用程序、内核数据结构以及缓冲区和缓存占用的部分。
  3. free: 可立即分配给新进程使用的空闲物理内存数量。
  4. shared: 多个进程共享的内存区域大小。
  5. buff/cache: 缓冲区(Buffers)和缓存(Cached)占用的内存,这些内存虽然在技术上被列为“used”,但在必要时可以迅速回收并重新分配给其他用途。
  6. available: 在某些版本的free命令中,还会有available这一列,它代表理论上可用于启动新应用程序的内存总量,考虑到了操作系统可能释放掉部分buffers/cache的情况。
Swap

输出还包括有关交换空间(Swap)的信息:

  • total: 系统总的交换空间大小。
  • used: 当前已使用的交换空间量。
  • free: 未使用的交换空间量。

了解更多

现代Linux内核对内存管理进行了优化,大量内存可能被用作文件系统缓存或页面缓存,这部分内存虽然显示为used,但实际上当有应用程序需要更多内存时,内核会自动回收这部分缓存而无需交换到磁盘。

因此,在评估系统内存使用效率时,不应仅仅关注usedfree的绝对值,还需结合buff/cacheavailable列来全面理解系统的内存状况。

常用命令

显示统计信息
# 人类可读格式(如K, M, G)显示
free -h

-h 参数表示以人类可读格式(如K, M, G)显示,并且包含更详细的列,比如available列,表示理论上可用于启动新应用程序的内存量。

持续监控内存
# 每5秒更新一次输出
free -s 5 -t

标签:显示,缓存,--,free,used,内存,Linux
From: https://blog.csdn.net/aaalk1001/article/details/141756018

相关文章

  • Linux Debian12安装flameshot火焰截图工具
    一、LinuxDebian12安装flameshot打开终端,运行:sudoaptinstallflameshot安装成功后,使用下面命令查看帮助信息:flameshot-h其中flameshotlauncher命令可以打开启动器。二、使用flameshot截图方法打开终端,输入下面命令:flameshotlauncher打开启动器可以进行新的截......
  • Linux Debian12使用flameshot或gnome-screenshot和ImageMagick垂直合并多张图片后组成
    在发布博客,有时需要滚动截长图,虽然在windows系统有滚动截长图的工具,例如:FastStoneCapture等,但是LinuxDebian系统,这种滚动截长图的工具没有找到合适的。经过自己筛选验证,发现LinuxDebian12使用flameshot或gnome-screenshot截取多张图片,再使用和ImageMagick图像处理工具进行垂直合......
  • Linux2-Linux基础命令
    简介:个人学习分享,如有错误,欢迎批评指正。一、Linux的目录结构Linux的目录结构是一个树型结构Windows系统可以拥有多个盘符,如C盘、D盘、E盘Linux没有盘符这个概念,只有一个根目录/,所有文件都在它下面练习请根据语言描述,写出对应的Linux路径在根目录下有一......
  • 第13篇 在Linux上部署vue项目,并通过nginx代理
    如何在Linux服务器上部署Vue项目1.在本地电脑打开vscode,进入Termial,切换到项目所在的目录以项目运行在vscode为例,在调试窗口输入npmrunbuild待命令执行完毕之后,在项目目录下会生成dist文件夹,如下图2.创建一个运行文件,名字是:server.jsserver.js中的内容如下:constexpress......
  • Linux下DNS搭建
    1.DNS概述DNS(DomainNameSystem,域名系统),因特网上作为域名和IP地址相互映射的一个分布式数据库,能够使用户更方便的访问互联网,而不用去记住能够被机器直接读取的IP数串。通过主机名,最终得到该主机名对应的IP地址的过程叫做域名解析(或主机名解析)。DNS协议使用UDP/TCP53端口号,UDP负......
  • 【Linux】命令expect使用详解
    一、概述1.1命令简介expect是由DonLibes基于Tcl(ToolCommandLanguage)语言开发的,是一种脚本语言,主要应用于自动化交互式操作的场景,借助Expect处理交互的命令,可以将交互过程如:ssh登录,ftp登录等写在一个脚本上,使之自动化完成。尤其适用于需要对多台服务器执行相同操作的环境中,可......
  • linux基础网络设置
    查看网络接口信息ifconfig查看所有活动网络接口的信息执行ifconfig命令查看指定网络接口信息ifconfig网络接口名查看主机名称hostnamehostname命令查看或设置当前主机名hostname查看路由表条目routeroute命令查看或设置主机中路由表信息route-n查看网络连接情......
  • linux操作系统
    Linux操作系统安装及服务控制开源软件没有商业化软件版权约束,源代码开发,可无约束自由传播---自由并不意味着免费FSF自由软件基金会,由1984年创办;主要的项目包含了GNU项目为什么选择Linux?开源免费稳定服务器不但降低企业运行成本,而且还提升了更高的稳定性和可靠性,且无需考......
  • Linux基础
    ctrl+alt+t打开终端windows的绝对路径中,目录使用"\"分隔;在Linux的绝对路径中,目录使用"/"分隔。Linux的目录是树状结构。学习shell什么是shell引言当我们谈起命令行时,其实指的是Shell。Shell是一个程序,它接收由键盘输入的命令并将其传递给操作系统(简称系统)来执行。几乎所有......
  • linux操作系统2-初始化
    操作系统初始化:1.配置CRT远程连接vi/etc/sysconfig/network-scripts/ifcfg-ens32BOOTPROTO=static静态获取IP地址ONBOOT=yes启用该网卡新增以下内容:IPADDR=192.168.1.100IP地址NETMASK=255.255.255.0子网掩码systemctlrestartnetwork2.SElinux操作系统安全机制关......