Arch Linuxは、RAMが8 GBしかないのに、RAMが16 GBあると思っています。


10

私はいくつかの検索を実行しましたが、Googleで理由を見つけることができませんが、archはramに7.7ギグ、スワップに7.9ギグを割り当てています。

  • 私は8ギグのRAMしか持っていません。

  • 通常よりも多くのRAMをスワップに割り当てました

割り当てを変更するにはどうすればよいですか?

の出力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
スワップは、定義上、RAMを使用していません。
user4556274

1
同じ(またはもう少し)スワップでRAMを取得するのが良いスタートです...また、休止(RAMをディスクに出力)する場合は、スワップスペースを使用できることにも注意してください。昔はRAMの2倍のスワップと言われていましたが、Linuxの場合、この「ルール」は512MB以下(または256MB)の場合にのみ適用されました。デザインは、あなたが常にようにしたUnix系システム(少なくとも一つ)がありましたしなければならなかった、少なくともスワップ量の2倍を持っているが。初期のLinuxでは、パーティションごとのスワップの量、スワップパーティションの数、および/または合計スワップに制限がありました。TBC
Baard Kopperud

2
続き...必要なスワップの量を本当に決定するには、実際にユーザー(およびユーザー)が実行するプロセスに必要なメモリの量を慎重に監査する必要があります。ただし、スワップは少なすぎるRAMの代わりにはならないことに注意してください。つまり、RAMが2GB(「あなた」のような「8GBだけ」ではなく)しか得られなかった人からのものです-ほとんどのシステムは、すべてのプロセスをRAM に保持できます。ただし、そうする必要はないので、スワップを使用してプロセスの「未使用」メモリページを保存し、時には「未使用」プロセス全体を保存して、RAMを解放します。この「未使用」RAMは、バッファとして使用され、キャッシュ、物事をスピードアップします。
Baard Kopperud

2
7.7GBの数値は、おそらく、カーネルに永続的に割り当てられている約300MBの物理RAMに由来します。そのRAMはまだ存在しますが、通常のプログラムには使用できません。
zwol

1
「Archは16GBのRAMがあると思っている」とあなたを信じるきっかけは何ですか?
marcelm

回答:


26

これは、16 GBの仮想メモリがあることを示しています

仮想メモリは、物理RAMとスワップスペースの合計です。

これは、物理的にスペースを確保するよりも多くのプログラムをシステムに実行させる方法です。

マシンにどれだけのスワップを割り当てる必要があるかは、複雑で独断的な質問です。2人に質問して3つの回答を得る:-)

あなたの設定は悪くありません、そして仮想メモリがどのように機能するか、そしてそれをどのように調整するかについてもっと学ぶまで、私はそれに変更を加えることを勧めません。それは良い出発点です。


5
仮想メモリは、物理RAMとスワップ領域の合計です。」いいえ、そうではありません。たとえば、4 GBのRAMと4 GBのスワップを備えた64ビットマシンでは、64 GBファイルをメモリマップできます。RAMとスワップの合計が8GBであっても、これは64GBの仮想メモリです。
David Schwartz

1
@DavidSchwartzは正しいです。これは、仮想メモリがあると言うことがより適切だ、メモリとして対処することができるものが好ましいと何かがそれをバックアップ。これは、RAMチップ、一部のI / Oポート、スワップパーティション、ディスク上のスワップファイル、またはオペレーティングシステムやメモリマネージャにとって特別な意味のない通常のファイルのいずれかです。また、何かを書いてすぐにそれを読み返すと、書いたものを読み戻すような方法で機能する必要もありません。(たとえば、一部のI / Oレジスタはこのように機能します。)
CVn

1
「Unix 101初心者版」です。また、実行可能ページを読み取り専用ページとしてメモリマップに追加する方法や、割り当て超過などの楽しいことについても触れませんでした。ただし、第1レベルの概算として、VM = RAM + swapで十分です。この質問のすべてが本当です。
スティーブンハリス

「これが伝えていることは、16GBの仮想メモリがあるということです。」-OPがArchが16GBを持っていると彼が考える理由を説明していないので、それを知る方法はありません。
marcelm

1
@StephenHarrisこの質問の背後にある誤解を引き起こすのは、最初のレベルの近似です。簡略化は、簡略化であること、または実際に正しいことを示している限り、問題ありません。
David Schwartz
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.