web-dev-qa-db-ja.com

「free」と「/ proc / meminfo /」は「dmidecode」より少ない総メモリを報告します

コロケーションセンターにサーバーがあり(VMではなく実際の物理サーバー)、64ビットDebian(uname -r3.16.0-4-AMD64)。

/proc/meminforeports about 4 GiB総メモリ:

$ head -n 1 /proc/meminfo
MemTotal:        4051692 kB

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

そして、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)

しかし、dmidecodeは4 * 2 GiB = 8 GiB RAMの場合、正しく理解していれば、

$ Sudo dmidecode --type memory

# dmidecode 2.12
SMBIOS 2.6 present.

Handle 0x0008, DMI type 5, 24 bytes
Memory Controller Information
    Error Detecting Method: 64-bit ECC
    Error Correcting Capabilities:
        Single-bit Error Correcting
    Supported Interleave: One-way Interleave
    Current Interleave: One-way Interleave
    Maximum Memory Module Size: 4096 MB
    Maximum Total Memory Size: 16384 MB
    Supported Speeds:
        Other
    Supported Memory Types:
        DIMM
        SDRAM
    Memory Module Voltage: 3.3 V
    Associated Memory Slots: 4
        0x0009
        0x000A
        0x000B
        0x000C
    Enabled Error Correcting Capabilities:
        Single-bit Error Correcting

Handle 0x0009, DMI type 6, 12 bytes
Memory Module Information
    Socket Designation: DIMM1A
    Bank Connections: 0 1
    Current Speed: Unknown
    Type: DIMM SDRAM
    Installed Size: 2048 MB (Single-bank Connection)
    Enabled Size: 2048 MB (Single-bank Connection)
    Error Status: OK

Handle 0x000A, DMI type 6, 12 bytes
Memory Module Information
    Socket Designation: DIMM1B
    Bank Connections: 2 3
    Current Speed: Unknown
    Type: DIMM SDRAM
    Installed Size: 2048 MB (Single-bank Connection)
    Enabled Size: 2048 MB (Single-bank Connection)
    Error Status: OK

Handle 0x000B, DMI type 6, 12 bytes
Memory Module Information
    Socket Designation: DIMM2A
    Bank Connections: 4 5
    Current Speed: Unknown
    Type: DIMM SDRAM
    Installed Size: 2048 MB (Single-bank Connection)
    Enabled Size: 2048 MB (Single-bank Connection)
    Error Status: OK

Handle 0x000C, DMI type 6, 12 bytes
Memory Module Information
    Socket Designation: DIMM2B
    Bank Connections: 6 7
    Current Speed: Unknown
    Type: DIMM SDRAM
    Installed Size: 2048 MB (Single-bank Connection)
    Enabled Size: 2048 MB (Single-bank Connection)
    Error Status: OK

Handle 0x002A, DMI type 16, 15 bytes
Physical Memory Array
    Location: System Board Or Motherboard
    Use: System Memory
    Error Correction Type: Single-bit ECC
    Maximum Capacity: 16 GB
    Error Information Handle: Not Provided
    Number Of Devices: 4

Handle 0x002C, DMI type 17, 28 bytes
Memory Device
    Array Handle: 0x002A
    Error Information Handle: Not Provided
    Total Width: 64 bits
    Data Width: 64 bits
    Size: 2048 MB
    Form Factor: DIMM
    Set: None
    Locator: DIMM1A
    Bank Locator: BANK0
    Type: DDR3
    Type Detail: Synchronous
    Speed: 1333 MHz
    Manufacturer: Micron        
    Serial Number: 501C6FDC
    Asset Tag: AssetTagNum0
    Part Number: 9JSF25672AZ-1G4D1 
    Rank: Unknown

Handle 0x002E, DMI type 17, 28 bytes
Memory Device
    Array Handle: 0x002A
    Error Information Handle: Not Provided
    Total Width: 64 bits
    Data Width: 64 bits
    Size: 2048 MB
    Form Factor: DIMM
    Set: None
    Locator: DIMM1B
    Bank Locator: BANK1
    Type: DDR3
    Type Detail: Synchronous
    Speed: 1333 MHz
    Manufacturer: Micron        
    Serial Number: 2A1C6FDC
    Asset Tag: AssetTagNum1
    Part Number: 9JSF25672AZ-1G4D1 
    Rank: Unknown

Handle 0x0030, DMI type 17, 28 bytes
Memory Device
    Array Handle: 0x002A
    Error Information Handle: Not Provided
    Total Width: 64 bits
    Data Width: 64 bits
    Size: 2048 MB
    Form Factor: DIMM
    Set: None
    Locator: DIMM2A
    Bank Locator: BANK2
    Type: DDR3
    Type Detail: Synchronous
    Speed: 1333 MHz
    Manufacturer: Micron        
    Serial Number: 511C6FDC
    Asset Tag: AssetTagNum2
    Part Number: 9JSF25672AZ-1G4D1 
    Rank: Unknown

Handle 0x0032, DMI type 17, 28 bytes
Memory Device
    Array Handle: 0x002A
    Error Information Handle: Not Provided
    Total Width: 64 bits
    Data Width: 64 bits
    Size: 2048 MB
    Form Factor: DIMM
    Set: None
    Locator: DIMM2B
    Bank Locator: BANK3
    Type: DDR3
    Type Detail: Synchronous
    Speed: 1333 MHz
    Manufacturer: Micron        
    Serial Number: 4B1C6FDC
    Asset Tag: AssetTagNum3
    Part Number: 9JSF25672AZ-1G4D1 
    Rank: Unknown

何が欠けていますか?コロケーションセンターのサーバーなので、残念ながら物理的に何がインストールされているのかわかりません。

編集:man dmidecodeは、「多くの場合、DMIテーブルに含まれる情報は不正確、不完全、または単に間違っている」と述べています。たぶん、dmidecodeは単に間違ったデータを報告しますか?

編集:これは Linuxが「空き」メモリを奇妙に報告するのはなぜですか? の複製ではありません。その質問は、空きメモリと、バッファとキャッシュを奪うことから生じる混乱についてです。私は空きメモリについてではありませんだけで、合計メモリについてのみです。私のfreeコマンドの使い方に惑わされないでください:空きメモリの量ではなく、総メモリの量だけを調べるために使用していません。この質問が重複していると思われる場合は、理解できないのでその理由を説明してください。

編集:dmidecode -t1 Lennieyのリクエストどおり

$ Sudo dmidecode -t1
# dmidecode 2.12
SMBIOS 2.6 present.

Handle 0x0001, DMI type 1, 27 bytes
System Information
        Manufacturer: Supermicro
        Product Name: X8SIL
        Version: 0123456789
        Serial Number: 0123456789
        UUID: 49434D53-0200-9037-2500-379025009946
        Wake-up Type: Power Switch
        SKU Number: To Be Filled By O.E.M.
        Family: To Be Filled By O.E.M.
7
Roel Schroeven

メモリモジュールの1つに障害があり、システムが同じチャネル内のその1つともう1つを無視していることがわかりました。

これで、サーバーがオフィスに設置されました。実際には、それぞれ2 GBのDIMMモジュールが4つあることがわかります。モジュールを1つずつテストしたところ、障害のあるモジュールがあることがわかりました。

(これは、dmidecodeが4つのモジュールすべてに対して「エラーステータス:OK」を表示する理由を説明していません。「多くの場合、DMIテーブルに含まれる情報は不正確、不完全、または単に間違っている」という引用で説明できると思います。マニュアルページ)

0
Roel Schroeven

そのSupermicro X8SILマザーボードのマニュアルは次の場所にあります: http://www.supermicro.com/manuals/motherboard/3420/MNL-1130.pdf

32ページ(別名2-10)では、バッファなし(UDIMM)シングルランクメモリが使用されている場合、サポートされるメモリの最大容量は、1 GB DIMMと8 GBと2 GB DIMMを使用する場合にのみ4 GBになることを示しています。

デュアルランクUDIMMの場合、最大容量は16 GBです。

32 GBの最終的な最大容量は、登録済み(RDIMM)クアッドランクメモリモジュールを使用しないと到達できません。メモリバス速度は、それらを使用するとヒットします。

そして、「Micron 9JSF25672AZ-1G4D1」で少しグーグルすると、ここに連れてきました: https://www.compuram.biz/memory_module/mt9jsf25672az-1g4d1/micron.htm

Micron Technology(MT)9JSF25672AZ-1G4D1が実際にサイズが2 GBのバッファなしシングルランクメモリモジュールであることを確認しているようです。

マニュアルの34ページ(または2-13ページ)では、RAM)が4 GBしか使用されていない場合、そのかなりの量がシステムデバイスに割り当てられ、使用できなくなることを示しています。 。これは、8 GBがインストールされている場合でも、不足しているメモリの少なくとも一部を占める可能性があります。残念ながら、マニュアルでは、8 GBの場合のシステムデバイスの割り当てについて詳しく説明していません。

1
telcoM

@ roel-schroeven:違いは、さまざまなコマンドが見ている結果です。

"free"のようなコマンドは、OS(カーネル)によって報告されたシステムメモリを調べます。

" dmidecode "コマンドは、システムBIOSからのSMBIOSドライバーによって報告されたシステムハードウェアDMIテーブルを調べます-前の DMI Originに関する質問 を参照してください。

そのため、dmidecodeはインストールされているハードウェアを示しますが、OSが必ずしも使用しているものは示しません。これには、たとえば、OSドライバーがない拡張カードが含まれている可能性があるため、誤解を招く可能性がありますが、ハードウェアリストには存在します。また、アップグレードオプションが表示されるため、状況をさらに混乱させる可能性があります。

BIOSリストは、RAMの場合のように、たとえば、セットアップとタイプに応じて、正しい情報(「不正確、不完全、または単に間違っている」という免責事項)を常に表示できるわけではありません。利用可能なエラー修正の場合、BIOSはエラーなどの拡張情報を検出できません。理想的な世界では、「Error Status:Not Available」などの情報が得られるはずですが、(まだ)ありません。

0
sarlacii