「固定する」

「固定する」

オペレーティングシステムに問題があります。カーネルを含むすべてのツールは、実際のRAMメモリの半分だけを表示します。私のラップトップには16Gメモリチップがインストールされており、BIOSにはすべてが正常であるとマークされています。

構成に関するいくつかの情報:

ハードウェア

ノートブックデルXPS 15 9550(PDFリンク) これには以下の内容が含まれています。

メモリ

スロット:SODIMMスロット2個

タイプ: DDR4

速度:2133MHz

サポートされる構成: 8GB、16GB、32GB

CPU

インテル®Core™i7-6700HQプロセッサー(アークリンク) これには以下の内容が含まれています。

最大メモリサイズ(メモリの種類によって異なります):64 GB

メモリタイプ:DDR4-2133、LPDDR3-1866、DDR3L-1600

システムメッセージ

# dmidecode 3.2
Getting SMBIOS data from sysfs.
SMBIOS 2.8 present.
90 structures occupying 5605 bytes.
Table at 0x000E8C20.

Handle 0x0000, DMI type 0, 24 bytes
BIOS Information
        Vendor: Dell Inc.
        Version: 1.14.0
        Release Date: 02/13/2020
        Address: 0xF0000
        Runtime Size: 64 kB
        ROM Size: 16 MB
        Characteristics:
                PCI is supported
                PNP is supported
                BIOS is upgradeable
                BIOS shadowing is allowed
                Boot from CD is supported
                Selectable boot is supported
                EDD is supported
                5.25"/1.2 MB floppy services are supported (int 13h)
                3.5"/720 kB floppy services are supported (int 13h)
                3.5"/2.88 MB floppy services are supported (int 13h)
                Print screen service is supported (int 5h)
                8042 keyboard services are supported (int 9h)
                Serial services are supported (int 14h)
                Printer services are supported (int 17h)
                ACPI is supported
                USB legacy is supported
                Smart battery is supported
                BIOS boot specification is supported
                Function key-initiated network boot is supported
                Targeted content distribution is supported
                UEFI is supported
        BIOS Revision: 1.14

Handle 0x0001, DMI type 1, 27 bytes
System Information
        Manufacturer: Dell Inc.
        Product Name: XPS 15 9550
        Version: Not Specified
        Serial Number: GR1RD72
        UUID: 4c4c4544-0052-3110-8052-c7c04f443732
        Wake-up Type: Power Switch
        SKU Number: 06E4
        Family: XPS

コア

$ uname -a
Linux piotr-XPS-15-9550 5.11.0-22-generic #23~20.04.1-Ubuntu SMP Thu Jun 17 12:51:00 UTC 2021 x86_64 x86_64 x86_64 GNU/Linux

メモリは次のように表示されます。free

$ free -h
              total        used        free      shared  buff/cache   available
Mem:          7,0Gi       2,6Gi       1,1Gi       887Mi       3,4Gi       3,3Gi
Swap:         979Mi          0B       979Mi

メモリ表示モード/proc/meminfo:

$ cat /proc/meminfo 
MemTotal:        7382044 kB
MemFree:         1142512 kB
MemAvailable:    3467104 kB
Buffers:          201548 kB
Cached:          3183760 kB
SwapCached:            0 kB
Active:           823272 kB
Inactive:        4182420 kB
Active(anon):       1924 kB
Inactive(anon):  2520488 kB
Active(file):     821348 kB
Inactive(file):  1661932 kB
Unevictable:      831044 kB
Mlocked:              32 kB
SwapTotal:       1003516 kB
SwapFree:        1003516 kB
Dirty:               104 kB
Writeback:             0 kB
AnonPages:       2451456 kB
Mapped:           842608 kB
Shmem:            908320 kB
KReclaimable:     137292 kB
Slab:             238076 kB
SReclaimable:     137292 kB
SUnreclaim:       100784 kB
KernelStack:       19088 kB
PageTables:        36676 kB
NFS_Unstable:          0 kB
Bounce:                0 kB
WritebackTmp:          0 kB
CommitLimit:     4694536 kB
Committed_AS:    9487844 kB
VmallocTotal:   34359738367 kB
VmallocUsed:       76280 kB
VmallocChunk:          0 kB
Percpu:             6176 kB
HardwareCorrupted:     0 kB
AnonHugePages:         0 kB
ShmemHugePages:        0 kB
ShmemPmdMapped:        0 kB
FileHugePages:         0 kB
FilePmdMapped:         0 kB
HugePages_Total:       0
HugePages_Free:        0
HugePages_Rsvd:        0
HugePages_Surp:        0
Hugepagesize:       2048 kB
Hugetlb:               0 kB
DirectMap4k:      328276 kB
DirectMap2M:     6234112 kB
DirectMap1G:     2097152 kB

メモリは次のように表示されます。dmidecode

$ sudo dmidecode -t memory
# dmidecode 3.2
Getting SMBIOS data from sysfs.
SMBIOS 2.8 present.

Handle 0x0038, DMI type 16, 23 bytes
Physical Memory Array
        Location: System Board Or Motherboard
        Use: System Memory
        Error Correction Type: None
        Maximum Capacity: 32 GB
        Error Information Handle: Not Provided
        Number Of Devices: 2

Handle 0x0039, DMI type 17, 40 bytes
Memory Device
        Array Handle: 0x0038
        Error Information Handle: Not Provided
        Total Width: 64 bits
        Data Width: 64 bits
        Size: 16384 MB
        Form Factor: SODIMM
        Set: None
        Locator: DIMM A
        Bank Locator: DIMM A
        Type: DDR4
        Type Detail: Synchronous
        Speed: 2133 MT/s
        Manufacturer: 0793
        Serial Number: 12161215
        Asset Tag: 16360000
        Part Number: GR2133S464L15/16G   
        Rank: 2
        Configured Memory Speed: 2133 MT/s
        Minimum Voltage: Unknown
        Maximum Voltage: Unknown
        Configured Voltage: 1.2 V

Handle 0x003A, DMI type 17, 40 bytes
Memory Device
        Array Handle: 0x0038
        Error Information Handle: Not Provided
        Total Width: Unknown
        Data Width: Unknown
        Size: No Module Installed
        Form Factor: DIMM
        Set: None
        Locator: DIMM B
        Bank Locator: DIMM B
        Type: Unknown
        Type Detail: None
        Speed: Unknown
        Manufacturer: Not Specified
        Serial Number: Not Specified
        Asset Tag: Not Specified
        Part Number: Not Specified
        Rank: Unknown
        Configured Memory Speed: Unknown
        Minimum Voltage: Unknown
        Maximum Voltage: Unknown
        Configured Voltage: Unknown

出力dmesg

$ dmesg | grep -i e820
[    0.000000] BIOS-e820: [mem 0x0000000000000000-0x000000000009dbff] usable
[    0.000000] BIOS-e820: [mem 0x000000000009dc00-0x000000000009ffff] reserved
[    0.000000] BIOS-e820: [mem 0x00000000000e0000-0x00000000000fffff] reserved
[    0.000000] BIOS-e820: [mem 0x0000000000100000-0x0000000032667fff] usable
[    0.000000] BIOS-e820: [mem 0x0000000032668000-0x0000000032668fff] ACPI NVS
[    0.000000] BIOS-e820: [mem 0x0000000032669000-0x0000000036fcefff] reserved
[    0.000000] BIOS-e820: [mem 0x0000000036fcf000-0x000000003700cfff] ACPI data
[    0.000000] BIOS-e820: [mem 0x000000003700d000-0x0000000037674fff] ACPI NVS
[    0.000000] BIOS-e820: [mem 0x0000000037675000-0x000000003fffffff] reserved
[    0.000000] BIOS-e820: [mem 0x00000000e0000000-0x00000000efffffff] reserved
[    0.000000] BIOS-e820: [mem 0x00000000fe000000-0x00000000fe010fff] reserved
[    0.000000] BIOS-e820: [mem 0x00000000fec00000-0x00000000fec00fff] reserved
[    0.000000] BIOS-e820: [mem 0x00000000fee00000-0x00000000fee00fff] reserved
[    0.000000] BIOS-e820: [mem 0x00000000ff000000-0x00000000ffffffff] reserved
[    0.000000] BIOS-e820: [mem 0x0000000100000000-0x000000029e22cfff] usable
[    0.000000] BIOS-e820: [mem 0x000000029e22d000-0x00000004bdffffff] reserved
[    0.000767] e820: update [mem 0x00000000-0x00000fff] usable ==> reserved
[    0.000771] e820: remove [mem 0x000a0000-0x000fffff] usable
[    0.123701] PCI: MMCONFIG at [mem 0xe0000000-0xefffffff] reserved in E820
[    0.333546] e820: reserve RAM buffer [mem 0x0009dc00-0x0009ffff]
[    0.333548] e820: reserve RAM buffer [mem 0x32668000-0x33ffffff]
[    0.333549] e820: reserve RAM buffer [mem 0x29e22d000-0x29fffffff]

フル出力dmesghttps://pastebin.com/B7qLzVvK

オペレーティングシステム:Linux Mint 20 Ulyana

ここに投稿する前に私がしたことは次のとおりです。

  1. BIOSを最新バージョンにアップデートしてください。
  2. memtest86とDell診断ツールの使用 - すべてがうまく機能し、BIOSに16Gが表示されます。
  3. カーネルを5.11にアップグレード
  4. USBドライブでUbuntu 20.04を試してみましたが、システムモニタアプリに16G RAMが表示されます(なぜかキーボードやUSB Oneのコンソールフォーマットには任意の文字を入力できません:)

UEFIを使用して起動しないためですか?

この問題をデバッグして解決するにはどうすればよいですか?ありがとうございます。

//編集する

$ decode-dimms                                                                                                                                              
# decode-dimms version $Revision$

Memory Serial Presence Detect Decoder
By Philip Edelbrock, Christian Zuckschwerdt, Burkart Lingner,
Jean Delvare, Trent Piepho and others


Decoding EEPROM: /sys/bus/i2c/drivers/ee1004/0-0050
Guessing DIMM is in                              bank 1

---=== SPD EEPROM Information ===---
EEPROM CRC of bytes 0-125                        OK (0xEF1D)
# of bytes written to SDRAM EEPROM               384
Total number of bytes in EEPROM                  512
Fundamental Memory type                          DDR4 SDRAM
SPD Revision                                     1.0
Module Type                                      SO-DIMM
EEPROM CRC of bytes 128-253                      OK (0x2355)

---=== Memory Characteristics ===---
Maximum module speed                             2132 MHz (PC4-17000)
Size                                             16384 MB
Banks x Rows x Columns x Bits                    16 x 16 x 10 x 64
SDRAM Device Width                               8 bits
Ranks                                            2
Rank Mix                                         Symmetrical
AA-RCD-RP-RAS (cycles)                           15-15-15-36
Supported CAS Latencies                          16T, 15T, 14T, 13T, 12T, 11T, 10T

---=== Timings at Standard Speeds ===---
AA-RCD-RP-RAS (cycles) as DDR4-1866              13-13-13-31
AA-RCD-RP-RAS (cycles) as DDR4-1600              11-11-11-27

---=== Timing Parameters ===---
Minimum Cycle Time (tCKmin)                      0.938 ns
Maximum Cycle Time (tCKmax)                      1.500 ns
Minimum CAS Latency Time (tAA)                   13.750 ns
Minimum RAS to CAS Delay (tRCD)                  13.750 ns
Minimum Row Precharge Delay (tRP)                13.750 ns
Minimum Active to Precharge Delay (tRAS)         33.000 ns
Minimum Active to Auto-Refresh Delay (tRC)       46.750 ns
Minimum Recovery Delay (tRFC1)                   350.000 ns
Minimum Recovery Delay (tRFC2)                   260.000 ns
Minimum Recovery Delay (tRFC4)                   160.000 ns
Minimum Four Activate Window Delay (tFAW)        21.000 ns
Minimum Row Active to Row Active Delay (tRRD_S)  3.700 ns
Minimum Row Active to Row Active Delay (tRRD_L)  5.300 ns
Minimum CAS to CAS Delay (tCCD_L)                5.625 ns

---=== Other Information ===---
Package Type                                     Monolithic
Maximum Activate Count                           Unlimited
Post Package Repair                              One row per bank group
Soft PPR                                         Not Supported
Module Nominal Voltage                           1.2 V
Thermal Sensor                                   No

---=== Physical Characteristics ===---
Module Height                                    30 mm
Module Thickness                                 2 mm front, 2 mm back
Module Reference Card                            E revision 1

---=== Manufacturer Data ===---
Module Manufacturer                              Wilk Elektronik S.A.
Manufacturing Date                               2017-W06
Part Number                                      GR2133S464L15/16G   


Number of SDRAM DIMMs detected and decoded: 1

dmesgを再実行し、使用済み/予約済みメモリに対していくつかの計算を実行しました。私はそれが正しいことを望んでいますが、はるかに正確ではないようです。

$ dmesg | grep 'BIOS-e820: \[mem' | sed -r 's/.*mem (0x.*)-(0x.*)\] (.*)/\1|\2|\3/g' | awk -F '|' '{printf "%10s %15.2f MB\n", $3, (strtonum($2) - strtonum($1)) / 1024/1024 }'
    usable            0.62 MB
  reserved            0.01 MB
  reserved            0.12 MB
    usable          798.46 MB
  ACPI NVS            0.00 MB
  reserved           80.34 MB
 ACPI data            0.24 MB
  ACPI NVS            6.41 MB
  reserved          137.54 MB
  reserved          256.00 MB
  reserved            0.07 MB
  reserved            0.00 MB
  reserved            0.00 MB
  reserved           16.00 MB
    usable         6626.18 MB
  reserved         8701.82 MB

9Gくらい予約されたと思いますが、なぜそうなのかわかりません...

//編集2

今本当に変になりました。私はちょうどラップトップサービスを使っていて、彼らが持っている他のメモリチップをテストしていましたが、BIOSは常に正しい値を示しましたが、Linuxではそうではありませんでした。

  • 古い1x16Gを使用する場合 - OSに7Gと表示される
  • 既存の2x16Gを使用する場合 - OSに17Gと表示される
  • サービスで1x8Gを使用している場合 - 7Gを表示します。
  • サービスで1x16Gを使用している場合 - 7Gを表示します。

これはとても奇妙です。

//編集3

くそー。メモリが半分しか表示されない理由を見つけたようです。

Kubuntu 21.04 USBバージョンをダウンロードして起動しました。

  1. レガシーモード(UEFIなし) - 半分のメモリが表示される
  2. UEFIモードで - すべてのメモリを表示

今私の質問はなぜですか?

答え1

ついに何が起こっているのか調べたので、私の質問に答えます。

長すぎる。

Linuxではレガシーブートを使用しているため、メモリチップあたり最大容量が8GBであると報告します。 UEFIを使用して起動すると、Linuxは各チップのメモリ全体を表示します。


完全な話、おそらく誰かに役立つだろう

しばらく前にDellノートパソコンを購入しました。 32G RAM(2x16G)、4コアi7、512G SSDなど優れた仕様を備えています。 Linux Mint 19をインストールしましたが、ほとんどがうまくいきます。これは、同時に複数のタブを持つ2つのブラウザウィンドウ、3つのIDE、Youtube、ビデオ通話などを使用するなど、アプリを多用するときに1日に1〜2回使用されます。衝突が「テレビのように壊れている」と表示されるので、症状はグラフィックの問題のように見えます。ハードリセットだけがラップトップに命を吹き込むことができます。

数回の衝突後、温度、CPU使用量、メモリ使用量などを監視することにしました。 OSに表示されるメモリがBIOSに表示される物理メモリの約半分であることに初めて気づきました。これは重大なメモリ問題を示します。

興味深いものはdmidecode常に正しい値を示しています。また、dmesgカーネルはメモリ全体を認識しますが、利用可能なメモリの約半分しか報告していません。

まず、Dell診断ツールとmemtest86を実行して、このラップトップでいくつかのテストを実行することにしました。どちらのツールも32G RAMを表示しますが、メモリテスト段階で数分後に両方が失敗します。症状は以前と同じです。私はこれがメモリの問題だと99%確信しています。

その後、さまざまなメモリチップ構成をテストしましたが、どちらのスロットに関係なく両方のメモリチップが接続されている場合にのみ失敗します。すべてうまく動作しているようですが(すべてのチップがmemtest86を通過する)、Dellハードウェアでは正しく動作しません。

したがって、競合を解決するには、1つのメモリスロットを使用する必要がありました。

競合はなくなりましたが、OSは8 GBのRAM(16 GB接続)のみを報告します。これは、オペレーティングシステムがスワップを使用して迅速に起動して使用できなくなるために問題になります。

レポートが正常であることを確認するために、まったく異なるメモリチップを調べることにしました。

  • 前の2つの16Gチップ - 17G RAMについて報告
  • 8Gチップ - 8G RAMレポート
  • 16Gチップ(以前のチップと異なる) - 8GB報告(一体何だ!?)

すべての構成で、memtest86とBIOSは正しいRAMを表示します。したがって、これはオペレーティングシステムの問題です。しかし、なぜ?

後 @Linuxセキュリティモンスター提案によると、Ubuntu Live USBを起動し、そこに何が表示されるかを確認しました。 Dellワンタイムブートには、USB、レガシー、およびUEFIの2つの可能なブートオプションが表示されます。 UEFIを初めて試したとき、RAMのサイズは16GBと正確でした。それから伝統モードをやってみてブーム! 8GBに過ぎません。

私の問題は、UEFIブートなしでインストールされたOSが原因で発生します。。ライブUSB起動に問題があり、UEFIをオフにした可能性がありますが、よくわかりません。

私にとって最大の謎は、これがなぜオペレーティングシステムのカーネルにとって重要なのかということです。

「固定する」

これらの問題をすべて解決するために、Kubuntuをインストールし、BIOSでUEFIを有効にしました。これでメモリが正しく報告されます。

関連情報