内存去哪儿了——linux free 命令查看内存偏小

这篇具有很好参考价值的文章主要介绍了内存去哪儿了——linux free 命令查看内存偏小。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

    相信很多公司都在使用云服务器,不知道大家有没有注意到,当你购买了一台云服务器以后,在操作系统里面通过 free 命令查看服务器的内存,容量总是会小于在云厂商控制台上面看到的内存容量。
    为什么会这样呢,那就带着疑问往下看。

现象描述

  1. 购买了2台云服务,控制台上面显示的内存是4GiB(4096MiB)linux内存free低,linux,服务器,运维,云计算,centos

  2. 登陆到操作系统里面查看内存大小,通过 free -m 命令发现机器的total内存比实际购买的要小。
    10.0.1.229这台是CentOS6.5,系统内内存大小为3832MiB,少264MiB。
    linux内存free低,linux,服务器,运维,云计算,centos
    10.0.1.228这台是CentOS7.8,系统内内存大小为3789MiB,少307MiB。
    linux内存free低,linux,服务器,运维,云计算,centos

问题分析

    看到这里,可能大家会猜想是不是服务器有问题,给我们少分配了一点内存,又或者不会太在意这一点点内存。下面将进行详细分析。

1. kdump介绍

    在分析这个问题之前,先来了解下kdump。
    kdump是Linux系统的一种高级故障处理机制,它可以在Linux系统内核崩溃时收集内存转储文件(crashdump),以便在分析转储文件时诊断问题。kdump可以帮助开发人员在内核崩溃时,更快地找到问题所在,以便更快地修复问题。

2. grub配置

    kdump需要预留部分内存供转储内核使用,所以需要配置grub文件。
CentOS6
    配置/etc/grub.conf,在 kernel 后面添加如下:
    kernel crashkernel=auto
CentOS7
    配置/etc/default/grub,GRUB_CMDLINE_LINUX 后面添加如下:
    crashkernel=auto
    其中crashkernel表示预留给转储的内存大小,auto表示系统自动分配,也可以直接写大小,比如预留128M写成crashkernel=128M

3. 问题原因

    此时再来看看自己的服务器配置
linux内存free低,linux,服务器,运维,云计算,centos
    发现是配置了内核转储,所以服务器预留了部分内存。
    故 free -m 看到的内存大小会偏小。

    再看另外一台CentOS7.8的配置
linux内存free低,linux,服务器,运维,云计算,centos
    同样是配置了内核转储,所以 free -m 看到的内存大小也会偏小。

4. 关闭转储

    CentOS6.5 机器在 /etc/grub.conf 删除crashkernel=auto,或者设置crashkernel=0,然后重启机器。
    此时内存为 3961MiB,多出了 129MiB。
linux内存free低,linux,服务器,运维,云计算,centos

    CentOS7.8机器在 /etc/default/grub 删除crashkernel=auto,或者设置crashkernel=0,执行 grub2-mkconfig -o /boot/grub2/grub.cfg,然后重启机器。
    此时内存为 3950MiB,多出了 161MiB
linux内存free低,linux,服务器,运维,云计算,centos
    大家可能会说这时候的内存大小还是比控制台上面的 4096MiB小,这是因为操作系统本身会占用一定内存,但是free命令不会统计。文章来源地址https://www.toymoban.com/news/detail-564092.html

到了这里,关于内存去哪儿了——linux free 命令查看内存偏小的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 命令查看Linux服务器内存、CPU、显卡、硬盘使用情况

    使用命令:free -m 大致结果类似下图: 内存占用情况 参数解释: Mem行(单位均为M): total:内存总数 used:已使用内存数 free:空闲内存数 shared:当前废弃不用 buffers:缓存内存数(Buffer) cached:缓存内舒数(Page) (-/+ buffers/cache)行: (-buffers/cache): 真正使用的内存数,指

    2024年02月04日
    浏览(74)
  • Linux 查看服务器内存、CPU、网络等占用情况的命令

    1、查看物理CPU个数:cat  2、查看服务器CPU内核个数:cat    每个物理CPU中core的个数(即核数) 3、服务器内存使用情况:free 3.1、缓存清除 如果cached过大接近total数就需要清除缓存了,缓存清除命令:  4、查看服务器的平均负载:top top   --可以查看服务器各个进程情况 u

    2024年02月08日
    浏览(69)
  • linux服务器查看cpu和内存

    cat /proc/cpuinfo | grep \\\"physical id\\\" | sort | uniq | wc -l cat /proc/cpuinfo | grep \\\"cpu cores\\\" | uniq grep processor /proc/cpuinfo|wc -l cat /proc/cpuinfo |grep MHz|uniq less /proc/cpuinfo |grep model free -m free -h

    2024年02月05日
    浏览(72)
  • Linux(包括centos) 如何查看服务器内存、CPU

    CPU架构主要包括:amd64、arm32v7、arm64v8、mips64el、mips32、ppc64le和ppc32等架构。 CPU信息主要为中央处理器详细信息,包括: 架构 核心数量 处理速度 厂商名称 CPU主频 标签 … 注:不同的操作系统或者CPU架构提供的信息不一定相同。 输出: 可以通过grep命令过滤信息: lscpu是一个

    2024年02月12日
    浏览(76)
  • Linux:查看服务器信息,CPU、内存、系统版本、内核版本等

    还是最近工作的总结,在做一些性能验证,这就需要要根据服务器的配置综合考虑来做进一步的结论论证,废话不多说 第一种方式 第二种方式 个人偏推崇第一种方式吧,能够更明显的看到版本和一些详细信息 第一种方式 这个命令适用于所有的Linux发行版,包括Redhat、SuSE、

    2024年01月19日
    浏览(81)
  • Linux查看服务器配置命令

    往往在操作中需要查看服务器配置,简单罗列了一些相关命令,欢迎补充。 1、查看 cpu信息 2、查看内存信息 3、 查看CPU 4、查看操作系统信息 5、查看centos版本信息 6、查看磁盘使用情况 7、查看其它磁盘外设信息 8、查看所有可用块设备的信息 9、查看所有硬件信息 10、查看

    2024年02月07日
    浏览(67)
  • 实战|掌握Linux内存监视:free命令详解与使用技巧

    大家好,又见面了,我是沐风晓月,本文是专栏【linux基本功-基础命令实战】的第53篇文章。 专栏地址:[linux基本功-基础命令专栏] , 此专栏是沐风晓月对Linux常用命令的汇总,希望能够加深自己的印象,以及帮助到其他的小伙伴😉😉。 如果文章有什么需要改进的地方还请

    2024年01月25日
    浏览(41)
  • linux 查看硬件服务器命令大全(超详细)

    一、查看服务器硬件信息 查看服务器型号、 序列号 查看主板型号 查看BIOS信息 查看 内存 槽及内存条 查看网卡信息 二、查看CPU信息 (1)查看cpu型号 (2)查看系统中实际物理CPU的数量 (3)系统中逻辑CPU的数量(核数) (4)查看单颗物理CPU核数 (5)查看CPU的主频 查看

    2024年02月05日
    浏览(64)
  • Linux中该如何查看当前CPU、内存、硬盘占用情况,如何判断当前服务器负载情况

    要查看当前 Linux 系统的 CPU、内存、硬盘占用情况,可以使用以下命令: 查看 CPU 占用情况: 该命令会显示当前系统进程的 CPU 占用情况,以及每个进程占用的 CPU 百分比和内存使用情况等信息。 查看内存占用情况: 该命令会显示当前系统的内存总量、已使用的内存量、空闲

    2024年02月11日
    浏览(72)
  • Linux CentOS 7 服务器集群硬件常用查看命令

    (一)查看内核:uname -a (二)查看系统: cat /etc/redhat-release (三)查看CPU: cat /proc/cpuinfo 或者 lscpu tips:两者命令差不多,lscpu更简洁,主要关注 Core(s) per socket 和 Socket(s) 参数,以及 Thread(s) per core 。后者表示逻辑核心,一般是1,如果使用超线程技术,则是2; CPU(s) 是三者

    2024年04月27日
    浏览(58)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包