GNU/Linux >> Znalost Linux >  >> Linux

Proč se MemTotal v /proc/meminfo mění?

To by se nikdy nemělo změnit. Mohlo by to být indikací některých vadných míst v paměti RAM. RAM můžete diagnostikovat pomocí Memtest86+.

Kromě toho by se toto číslo mohlo změnit pouze jinak, pokud byste analyzovali hosta virtuálního počítače. Host, na kterém host VM běží, možná upravuje RAM přidělenou hostovi.

Upravit #1

Vyhrabal jsem tento příspěvek na fóru, který pojednává o potenciálním úniku paměti moduly jádra, což by mohlo vést ke změně MemTotal.

úryvek z:Re:Jak určíte množství systémové paměti?

30. 7. 2008 Bill McGonigle napsal:

30. července 2008 v 10:03 Thomas Charron napsal:

MemTotal se může změnit. MemTotal neukazuje paměť využívanou samotnými binárními soubory jádra v paměti, ale existují situace, kdy moduly mohou prosakovat paměť, která se také odstraní z MemTotal. Nevzpomínám si na specifika toho, co se stalo, ale vím, o čem teď Paulis mluví. No, to je jen chyba, pokud definujete MemTotal jako fyzickou paměť přítomnou ve stroji. Pokud to vidíte jako celkovou paměť dostupnou jádru, funguje správně, že?

Ano, a „chyba“ je, že když toto číslo klesne, znamená to, že něco uniklo, alias „špatné jádro“. Alespoň potenciálně 'špatné' (čti potenciálně chybné) moduly jádra.


Nebylo mi příjemné mít chybu v jádře nebo modulu, tak jsem hledal dál a zjistil jsem... že MemTotal může se pravidelně měnit, směrem dolů nebo nahoru. Není to konstanta a tato hodnota je určitě modifikována kódem jádra na mnoha místech za různých okolností.

Např. virtio_balloon kmod může snížit MemTotal a také jej opět zvýšit. Potom samozřejmě mm/memory_hotplug.c exportuje [add|remove]_memory , které oba používá mnoho řidičů.


Linux
  1. Jak zaplnit 90 % volné paměti?

  2. Proč nefunguje find -exec mv {} ./target/ +?

  3. Proč malloc() volá mmap() a brk() zaměnitelně?

  1. Jak Linux zpracovává více po sobě jdoucích oddělovačů cest (/home////username///soubor)?

  2. Linux – jak se liší symbolický odkaz /proc//exe od běžných symbolických odkazů?

  3. Měly by weby žít ve /var/ nebo /usr/ podle doporučeného použití?

  1. Linux – propojení /proc/mnt s /proc/mounts?

  2. Jak změnit montážní body?

  3. Proč /bin/sh ukazuje na /bin/dash a ne /bin/bash?