在/var/log/kern.log
:
kernel: [13291329.657499] EDAC MC0: 48 CE error on CPU#0Channel#2_DIMM#0 (channel:2 slot:0 page:0x0 offset:0x0 grain:8 syndrome:0x0)
Run Code Online (Sandbox Code Playgroud)
这是edac
日志,其中一个内存有ce
错误。
我已阅读edac 文档
Dual channels allows for 128 bit data transfers to the CPU from memory.
Some newer chipsets allow for more than 2 channels, like Fully Buffered DIMMs
(FB-DIMMs). The following example will assume 2 channels:
Channel 0 Channel 1
===================================
csrow0 | DIMM_A0 | DIMM_B0 |
csrow1 | DIMM_A0 | DIMM_B0 |
===================================
===================================
csrow2 …
Run Code Online (Sandbox Code Playgroud) 我有一台在 VMWare 上运行的 CentOS 5.10(32 位)服务器。它分配了 4 GB 的 RAM。
如果我运行,dmidecode -t 17 | grep Size | grep MB
我会看到:
Size: 4096 MB
Run Code Online (Sandbox Code Playgroud)
然而,当我运行时free
,我看到:
total used free shared buffers cached
Mem: 3107140 1239244 1867896 0 332 400464
-/+ buffers/cache: 838448 2268692
Swap: 2096472 0 2096472
Run Code Online (Sandbox Code Playgroud)
为什么内存free
报告总量和dmidecode
输出之间存在差异?
我正在运行的内核是:
2.6.18-371.4.1.el5 #1 SMP Thu Jan 30 06:09:24 EST 2014 i686 i686 i386 GNU/Linux
Run Code Online (Sandbox Code Playgroud)
诚然,内核没有运行,PAE
但我认为只有超过4 GB 的内存才需要。
我知道我错过了一些简单的东西 - 有人可以详细说明吗?
我们在主机托管的服务器(一个真正的物理服务器,而不是一个VM),运行64位的Debian( :)。uname -r
3.16.0-4-amd64
/proc/meminfo
报告大约 4 GiB 总内存:
$ head -n 1 /proc/meminfo
MemTotal: 4051692 kB
Run Code Online (Sandbox Code Playgroud)
free
报告相同(我只看了total
专栏;我不是在谈论已用、免费、共享、缓冲区、缓存):
$ free -k
total used free shared buffers cached
Mem: 4051692 3867356 184336 220908 63948 1203596
-/+ buffers/cache: 2599812 1451880
Swap: 15728208 652540 15075668
Run Code Online (Sandbox Code Playgroud)
也是如此dmesg | grep Memory
:
$ dmesg | grep Memory
[ 0.000000] Memory: 4034240K/4185236K available (5287K kernel code, 949K rwdata, 1836K rodata, 1208K init, 840K bss, 150996K reserved)
Run Code Online (Sandbox Code Playgroud)
但是 dmidecode 报告 4 * …