linux 下查看内存情况命令

本文介绍如何使用dmidecode命令在Linux环境下查询系统的内存信息,包括内存槽数、已安装内存大小、最大支持内存数及内存速率等关键参数。

转自:https://blog.youkuaiyun.com/jinruoyanxu/article/details/55683022

1、查看内存槽数、那个槽位插了内存,大小是多少

dmidecode|grep -P -A5 "Memory\s+Device"|grep Size|grep -v Range

2、查看最大支持内存数

dmidecode|grep -P 'Maximum\s+Capacity'

3、查看槽位上内存的速率,没插就是unknown。

dmidecode|grep -A16 "Memory Device"|grep 'Speed'


其实以上数值就是通过dmidecode命令来实现的,具体方法如下:

以下内容转发自:http://blog.sina.com.cn/s/blog_43b39e250100nlxz.html

dmidecode以一种可读的方式dump出机器的DMI(Desktop Management Interface)信息。这些信息包括了硬件以及BIOS,既可以得到当前的配置,也可以得到系统支持的最大配置,比如说支持的最大内存数等。
 
 DMI有人也叫SMBIOS(System Management BIOS),这两个标准都由DMTF(Desktop Management Task Force)开发。

 dmidecode的输出格式一般如下:
 ----------------------------------------
 Handle 0x0002
  DMI type 2, 8 bytes
  Base Board Information
   Manufacturer:Intel
   Product Name: C440GX+
   Version: 727281-0001
   Serial Number: INCY92700942
 ----------------------------------------
 其中的前三行都称为记录头(recoce Header), 其中包括了:
  1、recode id(handle): DMI表中的记录标识符,这是唯一的,比如上例中的Handle 0x0002。
  2、dmi type id: 记录的类型,譬如说:BIOS,Memory,上例是type 2,即"Base Board Information"
  3、recode size: DMI表中对应记录的大小,上例为8 bytes.(不包括文本信息,所有实际输出的内容比这个size要更大。)
   记录头之后就是记录的值:
  4、decoded values: 记录值可以是多行的,比如上例显示了主板的制造商(manufacturer)、model、version以及serial Number。
 
 dmidecode的使用方法
 
 1. 最简单的的显示全部dmi信息:
 # dmidecode
 这样将输出所有的dmi信息,你可能会被一大堆的信息吓坏,通常可以使用下面的方法。
 
 2.更精简的信息显示:
 # dmidecode -q
 -q(--quite) 只显示必要的信息,这个很管用哦。
 
 3.显示指定类型的信息:
 通常我只想查看某类型,比如CPU,内存或者磁盘的信息而不是全部的。这可以使用-t(--type TYPE)来指定信息类型:
 # dmidecode -t bios
 # dmidecode -t bios, processor (这种方式好像不可以用,必须用下面的数字的方式)
 # dmidecode -t 0,4  (显示bios和processor)
 
 dmidecode到底支持哪些type?
 这些可以在man dmidecode里面看到:
 文本参数支持:
  bios, system, baseboard, chassis, processor, memory, cache, connector, slot
 数字参数支持很多:(见附录)
 
 4.通过关键字查看信息:
 比如只想查看序列号,可以使用:
 # dmidecode -s system-serial-number
 -s (--string keyword)支持的keyword包括:
 -------------------------------------------------------------------------------------
  bios-vendor,bios-version, bios-release-date,
  system-manufacturer, system-product-name, system-version, system-serial-number,
  baseboard-manu-facturer,baseboard-product-name,  baseboard-version, baseboard-serial-number, baseboard-asset-tag,
  chassis-manufacturer, chas-sis-version, chassis-serial-number, chassis-asset-tag,
  processor-manufacturer, processor-version.
 -------------------------------------------------------------------------------------
 
 5.示例
 5.1 查看当前内存和支持的最大内存
 Linux下,可以使用free或者查看meminfo来获得当前的物理内存:
 # free
    total       used       free     shared    buffers     cached
 Mem:       8182532    8010792     171740        

### Linux 查看内存使用情况的常用命令Linux 系统中,有多种方法可以用来查看内存使用情况。以下是几个常用的命令及其功能描述: #### 1. `free` 命令命令显示系统中空闲的以及已使用的物理内存 (RAM) 和交换空间 (swap),并提供缓冲区统计信息[^1]。 ```bash free -h ``` 参数 `-h` 表示以人类可读的方式展示数据(单位自动转换为 GB 或 MB)。此命令会输出三行主要信息:总内存、已用内存和可用内存。 --- #### 2. `/proc/meminfo` 文件 通过读取 `/proc/meminfo` 文件的内容可以直接获取详细的内存状态报告[^2]。 ```bash cat /proc/meminfo ``` 文件中的每一项代表不同的内存指标,例如 MemTotal(总内存)、MemFree(空闲内存)等。 --- #### 3. `vmstat` 命令 `vmstat` 是一个多用途工具,能够监控虚拟内存、CPU 活动和其他性能统计数据。它也可以用于观察内存使用状况。 ```bash vmstat -s ``` 上述命令将以列表形式呈现各种资源的具体数值。 --- #### 4. `top`/`htop` 命令 虽然这些主要是进程管理器,但它们也提供了实时更新的整体内存利用率视图[^3]。 运行以下命令即可进入交互模式: ```bash top ``` 或者更友好的版本 htop(需安装): ```bash htop ``` 在顶部区域可以看到关于 RAM 和 swap 的即时详情。 --- #### 5. Redis 特定场景下的内存查询 如果目标是了解 Redis 数据库内部如何消耗主机上的实际内存,则应利用其内置诊断指令——`INFO MEMORY` 子集: ```bash redis-cli INFO memory | grep used_memory_rss ``` 这将提取出 Redis 进程所占用的操作系统层面的真实内存大小(即 Resident Set Size),通常与 top 显示的结果相匹配。 --- ### 总结 以上列举了几种适用于不同需求层次的方法来评估 Linux 平台下硬件级别的存储分配现状。无论是简单的概览还是深入分析都可以找到合适的解决方案。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值