Malah, jika anda memasang memori 2G, jumlah keseluruhan: 1876 sudah boleh membuktikan bahawa ia adalah memori 2G. . Jika terdapat masalah dengan memori, adakah kerana 3G telah menyusut ke 1876?
Dapat dilihat bahawa penyoal masih tidak berpuas hati dengan algoritma 1024. Bagaimana dia boleh mengira 1876?
Sila jalankan 2 arahan dan siarkan hasilnya
1.cat /proc/meminfo |grep MemTotal
2.free -b
Saya menggunakan 4G sebagai contoh (memang tidak ada mesin 2G)
1.free -m
jumlah:3852 MB
1.free -b(Unit ini ialah bait!)
jumlah:4039471104 bait
2.cat /proc/meminfo |grep MemTotal
3944796 kB
3944796 kB*1024=4039471104bait, hasilnya sama seperti percuma -b
Anda tidak tertipu, ia adalah memori 2G.
Pengilang mengatakan 2GB, unitnya Gigabait, 1GB bersamaan dengan 1000^3 Byte
Apabila kita biasanya bercakap tentang GB, unitnya ialah Gibibyte Singkatan standard mestilah GiB, yang bersamaan dengan 1024^3 Byte
Oleh itu, data di kedua-dua belah pihak akan menjadi tidak konsisten.
Kaedah yang tepat ialah:
dmidecode -t memory | grep 'Installed Size'
(Kandungan grep akan berbeza-beza bergantung pada versi keluaran. Saya CentOS 6. Jika anda tidak pasti, anda boleh melangkau grep dan lihat sahaja. Terdapat banyak kandungan)
Mengapa free -m tidak tepat: Perintah percuma mengambil paparan berangka dari /proc/meminfo, dan MemTotal dalam /proc/meminfo sebenarnya adalah memori fizikal tolak beberapa bit terpelihara dan saiz kod binari kernel Jadi ia adalah huruf kecil daripada ingatan fizikal.
Yang di atas ialah salah satu hos Alibaba Cloud saya, yang juga tiada beberapa penyedia perkhidmatan Sekarang biasanya mengatakan bahawa ia disebabkan oleh perbezaan antara algoritma 1024 dan 1000, yang biasanya dianggap biasa. Perkara yang sama berlaku untuk membeli perkakasan cakera keras.
Malah, jika anda memasang memori 2G, jumlah keseluruhan: 1876 sudah boleh membuktikan bahawa ia adalah memori 2G. . Jika terdapat masalah dengan memori, adakah kerana 3G telah menyusut ke 1876?
Dapat dilihat bahawa penyoal masih tidak berpuas hati dengan algoritma 1024. Bagaimana dia boleh mengira 1876?
Sila jalankan 2 arahan dan siarkan hasilnya
1.
cat /proc/meminfo |grep MemTotal
2.
free -b
Saya menggunakan 4G sebagai contoh (memang tidak ada mesin 2G)
1.
free -m
jumlah:3852 MB
1.
free -b
(Unit ini ialah bait!)jumlah:4039471104 bait
2.
cat /proc/meminfo |grep MemTotal
3944796 kB
3944796 kB*1024=4039471104bait, hasilnya sama seperti percuma -b
4039471104bait / 1024=3944796 kB / 1024=3852.33984375MB
Seperti yang anda lihat. . faham? Atau anda boleh menjalankan 3 arahan ini dan menyiarkannya, dan anda akan tahu dengan melakukan matematik
Anda tidak tertipu, ia adalah memori 2G.
Pengilang mengatakan 2GB, unitnya Gigabait, 1GB bersamaan dengan 1000^3 Byte
Apabila kita biasanya bercakap tentang GB, unitnya ialah Gibibyte Singkatan standard mestilah GiB, yang bersamaan dengan 1024^3 Byte
Oleh itu, data di kedua-dua belah pihak akan menjadi tidak konsisten.
Kaedah yang tepat ialah:
(Kandungan grep akan berbeza-beza bergantung pada versi keluaran. Saya CentOS 6. Jika anda tidak pasti, anda boleh melangkau grep dan lihat sahaja. Terdapat banyak kandungan)
Mengapa free -m tidak tepat: Perintah percuma mengambil paparan berangka dari /proc/meminfo, dan MemTotal dalam /proc/meminfo sebenarnya adalah memori fizikal tolak beberapa bit terpelihara dan saiz kod binari kernel Jadi ia adalah huruf kecil daripada ingatan fizikal.
percuma -m
jumlah penimbal kongsi percuma terpakai dicache
Mem: 488 424 64 54 22 205
-/+ penimbal/cache: 196 292
Tukar: 1999 0 1999
Yang di atas ialah salah satu hos Alibaba Cloud saya, yang juga tiada beberapa penyedia perkhidmatan Sekarang biasanya mengatakan bahawa ia disebabkan oleh perbezaan antara algoritma 1024 dan 1000, yang biasanya dianggap biasa. Perkara yang sama berlaku untuk membeli perkakasan cakera keras.
Ini ialah nilai biasa 2G