询问客服他们说他们系统就是这样的。初始化占用了 0.7g
1
mineralsalt 2023-08-15 10:07:03 +08:00 1
你想说什么
|
2
danbai OP @mineralsalt 我想说有点坑
|
3
sprite82 2023-08-15 10:10:50 +08:00
我这 3.7G
$ free -h total used free shared buff/cache available Mem: 3.7Gi 1.2Gi 181Mi 101Mi 2.3Gi 2.1Gi Swap: 0B 0B 0B |
4
opengps 2023-08-15 10:12:25 +08:00
所有操作系统都有这部分被系统所独占使用的内存
|
5
wentx 2023-08-15 10:33:15 +08:00
lsmem 看看?
|
6
perfectlife 2023-08-15 10:36:13 +08:00
都差不多,我阿里云 1g 机器 free -m total 是 879m ,4g 机器是 3565m
|
7
danbai OP |
8
danbai OP |
9
danbai OP 之前还够用,最近因为加了个服务导致内存不够用系统卡死几次了
|
10
xiri 2023-08-15 10:44:41 +08:00 via Android 15
腾讯云提供的 Debian 和 Ubuntu 系统镜像默认开启了 kdump 服务,会为 crashdump 预留一定内存,我之前 2G 内存的服务器看到预留了 128M
可以用下面的命令看一下有没有 reseeving...for crashdump 的行: dmesg | grep -i memory 不需要 crashdump 的话可以把 kdump 卸载掉: apt purge kdump-tools 然后编辑 /etc/default/grub 文件,将其中的 crashkernel=xxx 字段全部删掉 最后 update-grub2 更新 grub 引导文件,再重启一下服务器就可以看到可用内存变大了。 |
11
xiri 2023-08-15 10:46:24 +08:00 via Android 1
free 命令看到的是伙伴系统管理的内存,这部分内存是不包括 OS 内核一些基本数据结构消耗以及内核预留内存的。
可以用 dmidecode 命令看一下底层硬件信息,正常都是分配满的,不会在这些地方给你克扣 |
13
danbai OP kdump 这玩意要我那么多内存有啥用
|
14
xiri 2023-08-15 10:55:07 +08:00 via Android 1
@danbai crashdump 是用于在内核出现异常的时候导出物理内存数据供调试分析用的,这些导出的内存数据需要一块不被其他应用使用的内存区域来存放
|
15
Cat7373 2023-08-15 10:56:21 +08:00
三台机器,情况如下:
Vultr 2G 机器,lsmem 是 2G ,free -m 是 1963 ,dmidecode -t memory 是 2 GB Vultr 8G 机器,lsmem 是 2G + 6G = 8G ,free -m 是 7937 ,dmidecode -t memory 是 8 GB Aws 32G 机器,lsmem 是 3G+28.3G = 31.3G ,free -m 是 31302 ,dmidecode -t memory 是 32 GB |
16
x86 2023-08-15 11:00:19 +08:00
total used free shared buff/cache available
Mem: 7.8Gi 797Mi 6.6Gi 8.0Mi 437Mi 6.7Gi Swap: 476Mi 0B 476Mi |
17
jiejia 2023-08-15 11:45:01 +08:00
free --mega
|
18
dooonabe 2023-08-15 11:49:51 +08:00
|
19
jasonyang9 2023-08-15 11:53:21 +08:00 via Android
为什么腾讯客服的回答没有说到问题的点上😂
|
20
my3157 2023-08-15 14:15:31 +08:00
lsmem
|
21
learningman 2023-08-15 15:44:33 +08:00 via Android 6
@jasonyang9 你猜楼上能说到点的哥们你让他去当客服,他当不当
|
22
Sekai 2023-08-15 18:48:20 +08:00
win 系统也有类似的,如果不开虚拟内存,那么蓝屏时的 dump 数据也无法保存的
|
23
ppoozl 2023-08-15 19:37:00 +08:00
可以去当啊,只要你给足够的工资
|
24
zimrigeek 142 天前
时隔这么久,我也遇到了 来说说我的观点
众所周知 这个问题涉及到计算机科学中的基本概念:在计算机系统中,数据存储和处理的最基本单位是位( bit ),而 8 位构成一个字节( byte )。计算机科学使用的是基于 2 的幂次方的计数系统,这是因为计算机是基于二进制( 0 和 1 )运行的 二进制的幂次方:在二进制系统中,每一次幂次方增长都是基于 2 的。因此,1 kilobyte ( 1KB )定义为 2 的 10 次方,即 1024 bytes 操作系统和虚拟化开销:运行虚拟服务器的操作系统和虚拟化层本身需要消耗一部分内存。这部分内存用于维护系统的基本运行,包括内核运行、驱动程序、系统进程等。这是为什么实际可用内存会少于分配的总内存。 内存单位换算:在计算机科学中,内存的标称通常是基于 1GB = 1024MB 的换算,但在营销和广告中,有时会使用 1GB = 1000MB 的换算方式来简化表述。这种差异在高容量内存中更为明显。 硬件和软件配置:不同的硬件平台和软件配置可能会影响系统可用的内存。例如,BIOS 设置、内存映射、预留内存等都会影响实际可用的内存大小 在大多数情况下,这种内存的“缺失”并不被视为虚标或欺诈。云服务提供商通常会在服务协议或产品说明中说明实际可用的资源可能会因系统开销等因素而少于分配的资源。建议在选择云服务时,仔细阅读产品描述和服务协议... |