Memanfaatkan dmidecode adalah cara terbaik untuk membaca berbagai informasi memori DIMM pada sistem Linux seperti nomor model, kecepatan, dan atribut lainnya. Namun sayangnya penggunaan dmidecode dibatasi untuk root karena perlu mengakses /dev/mem. Namun ternyata ada cara lain yang jarang dilaporkan untuk menerima informasi yang kurang lebih sama.
Baru-baru ini sejumlah pembaca menanyakan tentang detail memori pada sejumlah artikel benchmark saya karena penasaran tentang jenis/frekuensi memori dan detail lainnya pada beberapa laptop baru dan perangkat lainnya. Dengan detail sistem otomatis, informasi tersebut tidak dilaporkan kecuali saya melakukan benchmark sebagai root karena bergantung pada dmidecode untuk menguraikan informasi memori tersebut.
Namun insinyur Red Hat Hans de Goede baru-baru ini menunjukkan alternatif lain. Selama proses booting pada distribusi Linux terbaru, udev mengekstrak informasi DMI dan menyimpannya di database udev.
Jadi pada distribusi Linux terbaru seperti menjalankan udevadm info -e | grep -e MEMORY_DEVICE sebagai pengguna biasa dimungkinkan untuk mengakses informasi perangkat memori DIMM. Misalnya.
$ info udevadm -e | grep -e MEMORY_DEVICE -e MEMORY_ARRAY
E: MEMORY_ARRAY_LOCATION=Papan Sistem Atau Motherboard
E: MEMORY_ARRAY_MAX_CAPACITY=68719476736
E: MEMORY_DEVICE_0_TOTAL_WIDTH=32
E: MEMORY_DEVICE_0_DATA_WIDTH=32
E: MEMORY_DEVICE_0_SIZE=17179869184
E: MEMORY_DEVICE_0_FORM_FACTOR=Lainnya
E: MEMORY_DEVICE_0_LOCATOR=DIMM 0
E: MEMORY_DEVICE_0_BANK_LOCATOR=P0 SALURAN A
E: MEMORY_DEVICE_0_TYPE=E: MEMORY_DEVICE_0_TYPE_DETAIL=Sinkron Tanpa Buffer (Tidak Terdaftar)
E: MEMORY_DEVICE_0_SPEED_MTS=6400
E: MEMORY_DEVICE_0_MANUFACTURER=Teknologi Mikron
E: MEMORY_DEVICE_0_SERIAL_NUMBER=00000000
E: MEMORY_DEVICE_0_ASSET_TAG=Tidak Ditentukan
E: MEMORY_DEVICE_0_PART_NUMBER=MT62F4G32D8DV-026 WT
E: MEMORY_DEVICE_0_RANK=2
E: MEMORY_DEVICE_0_CONFIGURED_SPEED_MTS=6400
E: MEMORY_DEVICE_0_MINIMUM_VOLTAGE=0,5
E: MEMORY_DEVICE_0_MAXIMUM_VOLTAGE=0,5
E: MEMORY_DEVICE_0_CONFIGURED_VOLTAGE=0,5
E: MEMORY_DEVICE_0_MEMORY_TECHNOLOGY=DRAM
E: MEMORY_DEVICE_0_MEMORY_OPERATING_MODE_CAPABILITY=Memori yang mudah menguap
E: MEMORY_DEVICE_0_FIRMWARE_VERSION=Tidak Diketahui
E: MEMORY_DEVICE_0_MODULE_MANUFACTURER_ID=Bank 1, Hex 0x2C
E: MEMORY_DEVICE_0_VOLATILE_SIZE=17179869184
E: MEMORY_DEVICE_1_TOTAL_WIDTH=32
E: MEMORY_DEVICE_1_DATA_WIDTH=32
E: MEMORY_DEVICE_1_SIZE=17179869184
E: MEMORY_DEVICE_1_FORM_FACTOR=Lainnya
E: MEMORY_DEVICE_1_LOCATOR=DIMM 0
E: MEMORY_DEVICE_1_BANK_LOCATOR=P0 SALURAN B
E: MEMORY_DEVICE_1_TYPE=E: MEMORY_DEVICE_1_TYPE_DETAIL=Sinkron Tanpa Buffer (Tidak Terdaftar)
E: MEMORY_DEVICE_1_SPEED_MTS=6400
E: MEMORY_DEVICE_1_MANUFACTURER=Teknologi Mikron
E: MEMORY_DEVICE_1_SERIAL_NUMBER=00000000
E: MEMORY_DEVICE_1_ASSET_TAG=Tidak Ditentukan
E: MEMORY_DEVICE_1_PART_NUMBER=MT62F4G32D8DV-026 WT
E: MEMORY_DEVICE_1_RANK=2
E: MEMORY_DEVICE_1_CONFIGURED_SPEED_MTS=6400
E: MEMORY_DEVICE_1_MINIMUM_VOLTAGE=0,5
E: MEMORY_DEVICE_1_MAXIMUM_VOLTAGE=0,5
E: MEMORY_DEVICE_1_CONFIGURED_VOLTAGE=0,5
E: MEMORY_DEVICE_1_MEMORY_TECHNOLOGY=DRAM
E: MEMORY_DEVICE_1_MEMORY_OPERATING_MODE_CAPABILITY=Memori yang mudah menguap
E: MEMORY_DEVICE_1_FIRMWARE_VERSION=Tidak Diketahui
E: MEMORY_DEVICE_1_MODULE_MANUFACTURER_ID=Bank 1, Hex 0x2C
E: MEMORY_DEVICE_1_VOLATILE_SIZE=17179869184
E: MEMORY_DEVICE_2_TOTAL_WIDTH=32
E: MEMORY_DEVICE_2_DATA_WIDTH=32
E: MEMORY_DEVICE_2_SIZE=17179869184
E: MEMORY_DEVICE_2_FORM_FACTOR=Lainnya
E: MEMORY_DEVICE_2_LOCATOR=DIMM 0
E: MEMORY_DEVICE_2_BANK_LOCATOR=P0 SALURAN C
E: MEMORY_DEVICE_2_TYPE=E: MEMORY_DEVICE_2_TYPE_DETAIL=Sinkron Tanpa Buffer (Tidak Terdaftar)
E: MEMORY_DEVICE_2_SPEED_MTS=6400
E: MEMORY_DEVICE_2_MANUFACTURER=Teknologi Mikron
E: MEMORY_DEVICE_2_SERIAL_NUMBER=00000000
E: MEMORY_DEVICE_2_ASSET_TAG=Tidak Ditentukan
E: MEMORY_DEVICE_2_PART_NUMBER=MT62F4G32D8DV-026 WT
E: MEMORY_DEVICE_2_RANK=2
E: MEMORY_DEVICE_2_CONFIGURED_SPEED_MTS=6400
E: MEMORY_DEVICE_2_MINIMUM_VOLTAGE=0,5
E: MEMORY_DEVICE_2_MAXIMUM_VOLTAGE=0,5
E: MEMORY_DEVICE_2_CONFIGURED_VOLTAGE=0,5
E: MEMORY_DEVICE_2_MEMORY_TECHNOLOGY=DRAM
E: MEMORY_DEVICE_2_MEMORY_OPERATING_MODE_CAPABILITY=Memori yang mudah menguap
E: MEMORY_DEVICE_2_FIRMWARE_VERSION=Tidak Diketahui
E: MEMORY_DEVICE_2_MODULE_MANUFACTURER_ID=Bank 1, Hex 0x2C
E: MEMORY_DEVICE_2_VOLATILE_SIZE=17179869184
E: MEMORY_DEVICE_3_TOTAL_WIDTH=32
E: MEMORY_DEVICE_3_DATA_WIDTH=32
E: MEMORY_DEVICE_3_SIZE=17179869184
E: MEMORY_DEVICE_3_FORM_FACTOR=Lainnya
E: MEMORY_DEVICE_3_LOCATOR=DIMM 0
E: MEMORY_DEVICE_3_BANK_LOCATOR=SALURAN P0 D
E: MEMORY_DEVICE_3_TYPE=E: MEMORY_DEVICE_3_TYPE_DETAIL=Sinkron Tanpa Buffer (Tidak Terdaftar)
E: MEMORY_DEVICE_3_SPEED_MTS=6400
E: MEMORY_DEVICE_3_MANUFACTURER=Teknologi Mikron
E: MEMORY_DEVICE_3_SERIAL_NUMBER=00000000
E: MEMORY_DEVICE_3_ASSET_TAG=Tidak Ditentukan
E: MEMORY_DEVICE_3_PART_NUMBER=MT62F4G32D8DV-026 WT
E: MEMORY_DEVICE_3_RANK=2
E: MEMORY_DEVICE_3_CONFIGURED_SPEED_MTS=6400
E: MEMORY_DEVICE_3_MINIMUM_VOLTAGE=0,5
E: MEMORY_DEVICE_3_MAXIMUM_VOLTAGE=0,5
E: MEMORY_DEVICE_3_CONFIGURED_VOLTAGE=0,5
E: MEMORY_DEVICE_3_MEMORY_TECHNOLOGY=DRAM
E: MEMORY_DEVICE_3_MEMORY_OPERATING_MODE_CAPABILITY=Memori yang mudah menguap
E: MEMORY_DEVICE_3_FIRMWARE_VERSION=Tidak Diketahui
E: MEMORY_DEVICE_3_MODULE_MANUFACTURER_ID=Bank 1, Hex 0x2C
E: MEMORY_DEVICE_3_VOLATILE_SIZE=17179869184
E: MEMORY_ARRAY_NUM_DEVICES=4Apa yang mungkin Anda perhatikan adalah informasi jenis DIMM dilaporkan “di luar spesifikasi”… Saya telah melihat ini pada beberapa sistem selama dua minggu pengujian terakhir. Sayangnya, sistem berbasis DDR5/LPDDR5 pada distribusi Linux modern melaporkan jenis memori “di luar spesifikasi” dan tidak mengenali memori yang lebih baru. Namun, dmidecode sebagai root berhasil melaporkan informasi ini dengan benar. Ada juga masalah informasi voltase yang tampaknya tidak akurat tetapi masalah tersebut lebih kecil dan belum diselidiki secara ekstensif.
Dalam pengujian saya sejauh ini, nomor vendor/model DIMM, pelaporan MT/s, dan metrik lainnya telah berfungsi dengan baik. Dengan demikian, langkah selanjutnya dapat memberikan transparansi yang lebih baik di area tersebut ketika tidak dijalankan sebagai root dan merupakan petunjuk praktis bagi orang lain yang ingin mengetahui detail memori sistem tanpa memiliki akses root. “udevadm info -e” juga dapat digunakan untuk mengakses informasi DMI lain yang biasanya dibatasi untuk akses root. Sayang sekali tidak ada solusi universal untuk Linux seperti dmidecode yang dapat melakukan fallback ke database udev jika tersedia atau serupa daripada kekacauan terfragmentasi yang ada sejak kegagalan HAL dan tidak banyak standar yang diterima seperti Windows.
Itulah berita seputar Cara Bagus Untuk Mengakses Informasi Memori/RAM Linux, semoga bermanfaat. Disadur dari Phoronix.com.