Arch Linux berpikir saya memiliki sekitar 16 gigs of ram ketika saya hanya punya 8


10

Saya telah melakukan beberapa pencarian dan saya tidak dapat menemukan apa pun di Google tentang mengapa tetapi arch telah mengalokasikan 7,7 gigs untuk ram dan 7,9 untuk bertukar.

  • Saya hanya punya 8 gigs ram.

  • itu mengalokasikan lebih banyak ram untuk bertukar daripada biasa

Bagaimana saya bisa mengubah alokasi?

output dari cat /proc/meminfo: MemTotal: 8091960 kB MemFree: 4925736 kB MemAvailable: 6131188 kB Buffers: 268936 kB Cached: 1219460 kB SwapCached: 0 kB Active: 1527516 kB Inactive: 1301140 kB Active(anon): 768904 kB Inactive(anon): 711440 kB Active(file): 758612 kB Inactive(file): 589700 kB Unevictable: 32 kB Mlocked: 32 kB SwapTotal: 8300540 kB SwapFree: 8300540 kB Dirty: 1960 kB Writeback: 0 kB AnonPages: 1306968 kB Mapped: 382800 kB Shmem: 140100 kB Slab: 197964 kB SReclaimable: 163104 kB SUnreclaim: 34860 kB KernelStack: 6864 kB PageTables: 29200 kB NFS_Unstable: 0 kB Bounce: 0 kB WritebackTmp: 0 kB CommitLimit: 12346520 kB Committed_AS: 3927808 kB VmallocTotal: 34359738367 kB VmallocUsed: 0 kB VmallocChunk: 0 kB HardwareCorrupted: 0 kB AnonHugePages: 186368 kB HugePages_Total: 0 HugePages_Free: 0 HugePages_Rsvd: 0 HugePages_Surp: 0 Hugepagesize: 2048 kB DirectMap4k: 584316 kB DirectMap2M: 7716864 kB DirectMap1G: 0 kB


21
swap , menurut definisi, tidak menggunakan RAM.
user4556274

1
Swap yang sama (atau sedikit lebih) maka Anda mendapatkan RAM adalah awal yang baik ... Juga ingat bahwa swap-ruang dapat digunakan jika Anda hibernasi (masukkan RAM ke disk). Di masa lalu, ada yang mengatakan swap dua kali lebih banyak dari RAM - tetapi untuk Linux, "aturan" itu hanya berlaku ketika Anda memiliki 512MB atau kurang (atau 256MB). Namun ada sistem Unix (setidaknya satu) di mana desainnya sedemikian rupa sehingga Anda selalu harus memiliki setidaknya dua kali jumlah swap. Linux awal memiliki batasan pada berapa banyak swap per partisi, jumlah partisi swap dan / atau total swap. TBC
Baard Kopperud

2
Lanjutan ... Untuk benar-benar memutuskan berapa banyak swap yang Anda butuhkan, Anda harus benar-benar mengaudit berapa banyak memori yang Anda proses (dan pengguna Anda) butuhkan - tetapi ingat bahwa swap bukan pengganti untuk terlalu sedikit RAM. Yang mengatakan - dan ini dari seseorang yang hanya mendapat 2GB (bukan "hanya" 8GB seperti Anda) RAM - sebagian besar sistem akan dapat menjaga semua proses dalam RAM. Namun mereka tidak perlu , jadi swap digunakan untuk menyimpan halaman memori "tidak terpakai" - dan terkadang seluruh proses "tidak terpakai" - dengan demikian membebaskan RAM ... RAM "tidak terpakai" ini, kemudian digunakan sebagai buffer dan cache, untuk mempercepat.
Baard Kopperud

2
Angka 7,7GB mungkin berasal dari ~ 300MB RAM fisik yang telah dialokasikan secara permanen ke kernel. RAM itu masih ada tetapi tidak dapat digunakan untuk program biasa.
zwol

1
Apa yang membuat Anda percaya "Arch berpikir Anda memiliki RAM 16GB"?
marcelm

Jawaban:


26

Ini memberitahu Anda bahwa Anda memiliki memori virtual 16GB .

Memori virtual adalah jumlah total RAM fisik dan ruang swap yang ditambahkan.

Ini adalah cara untuk membiarkan sistem Anda menjalankan lebih banyak program daripada yang secara fisik memiliki ruang untuknya.

Berapa banyak swap yang harus dialokasikan ke mesin adalah pertanyaan yang rumit dan beralasan; tanyakan 2 orang dan dapatkan 3 jawaban :-)

Pengaturan Anda tidak buruk, dan saya tidak akan merekomendasikan untuk mengubahnya sebelum Anda belajar lebih banyak tentang cara kerja memori virtual dan cara menyetelnya. Ini adalah titik awal yang baik.


5
" Memori virtual adalah jumlah total RAM fisik dan ruang swap yang ditambahkan. " Tidak, tidak. Sebagai contoh, pada mesin 64-bit dengan 4GB RAM dan 4 GB swap, saya dapat memetakan file memori 64GB. Itu adalah memori virtual 64GB, meskipun RAM dan swap bertambah hingga 8GB.
David Schwartz

1
@ DavidSchwartz benar. Lebih tepat untuk mengatakan bahwa memori virtual adalah apa yang dapat dialamatkan sebagai memori, lebih disukai dengan sesuatu yang mendukungnya. Sesuatu itu bisa berupa chip RAM, beberapa port I / O, partisi swap, file swap pada disk, atau file biasa tanpa arti khusus bagi sistem operasi atau manajer memori. Ini juga tidak diperlukan untuk berfungsi sedemikian rupa sehingga jika Anda menulis sesuatu dan kemudian segera membacanya kembali, Anda membaca kembali apa yang Anda tulis. (Misalnya beberapa fungsi register I / O dengan cara ini.)
sebuah CVn

1
Ini adalah "versi pemula Unix 101". Saya juga tidak menyebutkan bagaimana halaman yang dapat dieksekusi dapat ditambahkan sebagai halaman hanya-baca ke peta memori dan hal-hal menyenangkan lainnya seperti keseluruhan lokasi. Namun, sebagai perkiraan tingkat pertama, VM = RAM + swap cukup dekat, dan semua pertanyaan ini benar-benar tentang.
Stephen Harris

"Apa yang kamu katakan adalah kamu memiliki memori virtual 16GB." - Tidak ada cara untuk mengetahuinya karena OP tidak pernah menjelaskan mengapa menurutnya Arch mengatakan dia memiliki 16GB.
marcelm

1
@StephenHarris Ini perkiraan tingkat pertama yang menyebabkan kesalahpahaman di balik pertanyaan ini. Penyederhanaan baik-baik saja, asalkan menunjukkan bahwa mereka penyederhanaan atau secara faktual benar.
David Schwartz
Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.