MacBook Proがすでにスワップメモリ​​を使用しているのはなぜですか?


21

8 GBのメモリを搭載した2013年後半のMacBook Pro 13 "があります。最近、MacBook Proは十分な空きメモリがあるときにスワップメモリ​​を使用します。 XcodeはRAMの99%を使用して開きますが、これは通常の動作ですか?

ここに画像の説明を入力してください


@Mark私はこれをオープンにしておくつもりです- 他の質問は症状としてスワップに焦点を合わせていません。これは、リンクされた質問に合わない可能性のある追加の回答を正当化するのに十分異なると思います。
bmike

回答:


18

これは正常な動作です。上記のスクリーンショットでメモリの問題は発生していません。ここで実際にスワップメモリ​​を使用するのではなく、OS Xがスワップメモリ​​を有効にするためのある種のプレースホルダを作成していると思われます。再起動してActivity Monitorウィンドウを新しく開いたばかりでない限り、スワップメモリ​​セクションにゼロが表示されたことはありません。それでも、ゼロはほとんど表示されません。

MavericksとYosemiteでは、OSがメモリを使用する方法が少し変わりました。基本的に、OSはすべてのメモリを取得し、必要に応じて管理します。そのため、アクティビティモニターでの従来のメモリレポートの表示方法は、実際には有効ではありません。このため、Mavericksは「Memory Pressure」ゲージを追加して、メモリが原因で制限が発生する時期を把握できるようにしました。スクリーンショットでは、緑色のメモリが不足しています。詳細については、この回答を参照してください

Ars TechnicaのMavericksのレビューで、この「メモリ圧縮」についての説明があります。

http://arstechnica.com/apple/2013/10/os-x-10-9/17/


よく言った。256 KBのスワップは丸めエラーであり、スワップファイルが存在して開いていることを確認するための単なるプレースホルダーにさえなる可能性があります。システムがファイルハンドルまたはリソースを使い果たし、後でそのファイルを作成して開いた場合、安定性が向上し、エッジケースからの回復が可能になります。
bmike

2

スクリーンショットから理解できること(あなたの言語はわかりません)によると、使用しているスワップ領域は256KBだけです。あなたの記憶のプレッシャーが上がっていなければ心配しない


現時点では実際には256 KBですが、空きメモリがある場合は120 MB以上を使用することもあります。
バス

私は私のMacは今、ほぼ6日間までとなっている、と私はスワップの〜200メガバイトが使用されている、RAMの16ギガバイトがインストールされていると24%のメモリ圧力(緑)、これは正常だと思います
Brethil

@Basスワップが成長しているのを見つけたら、フォローの質問をしてください。実行することvm_stat 60300、その間隔で実行することもできます。その後、ページングがどのように見えるかを確認し、ページングのケースを示す2番目のアクティビティモニタースナップショットをアップロードします。
bmike

0

スワップが作成された理由を理解する機会を得るために、スワップファイルが作成されたときに、メモリとスワップの使用量を監視する必要があります。あなたがテキストやスクリーンショットで説明していることに基づいて、私は心配することは何もありません。

空きRAM があると仮定したときにスワップが作成された理由について。OSは、予測測定に基づいてスワップに移行できます。たとえば、Photoshopを起動して、いくつかの大きな画像ファイルを前のセッションから自動的に再度開いたとします。OSは、突然RAMに巨大な新しい需要があったことを認識し、未使用のRAMの内容を移動して、予想される必要性に応じて交換しました。

または、バックアッププログラムが一時的にバックグラウンドで実行され、膨大な数のファイルチェックサムと比較を行い、RAMベースの大規模なデータ構造を作成して、他のコンテンツをスワップしました。その後、バックアッププログラムはRAMを解放し、スリープ状態に戻りました。

Mac OS X(および最新のOS:Windows、Linuxなど)は、キャッシュ、スワップ、メモリ圧縮、その他の技術を自動的に使用してシステムを可能な限り高速に実行することについて非常にインテリジェントです。アクティビティモニターがメモリプレッシャーが黄色または赤色のゾーンにあると報告しているのを確認しない限り、これについて本当に心配することはありません。

現在、16GBのRAMを搭載した2010 13インチMacBook Proを持っています。RAMの使用量が多い作業をたくさん行っています。メモリ不足のためにイエローゾーンにアクセスしますが、Mac OS Xは必要に応じてリソースを割り当てることに関して非常に優れているため、これが問題になることはほとんどありません。

私の仕事には16GBのRAMが必要ですが、そのようなアップグレードにはマイナスがないわけではないことを知っておく必要があります。追加のRAMは、アクティブな使用時とスリープ時の両方でバッテリー寿命を大幅に短縮します。


-1

MacはUnix(Single Unix Specification 2003の認定済み)で動作し、そのOSは40年以上前から存在します。コアコンポーネント(メモリ管理など)は、この分野の決定的な専門家である人々によって作成、更新、デバッグ、洗練されています。Appleは、米国財務省よりも手持ちの現金が多いため、最高の人材を雇う余裕があります。

したがって、少なくとも理論的なコンピューターサイエンスの博士号を持ち、カーネルレベルのプロセスとメモリ管理に関する論文を書いていない限り、メモリ管理について心配する必要はありません。デスクトップに24Gbがありますが、まだスワップを使用しています。これは私にはまったく関係ありません。


3
あなたは正しいですが、これは私の質問に答えません。私は、OSを作った人々が彼らが何をしているのか知らないと言っているのではありません。私の質問は、これが正常な動作であるかどうかであり、なぜこれを行うのか興味があります。まだ利用可能なメモリがある場合、SWAPを使用するのは理にかなっていないからです。-
バス

私のポイントは、ボンネットの下で起こることはすべて正常であるということです。スワップの絶対量が膨大なためにディスクがいっぱいになっていない限り、メモリマネージャが必要と判断したため、理由を考慮する必要があります。
ポール

1
これはほぼ完全に間違っています。macOSにはオリジナルのUnixコードはありません。一部の* BSDおよびMachパーツを使用しており、POSIX認定を受けている可能性があります。ただし、VMページの管理はほぼ完全にAppleのコードであり、vm_compressionを追加するように変更することにより、前回のリリースで多くの不安定性を追加しました。また、理論的なコンピューターサイエンスは、これらの非常に実用的な問題に関与していません。彼らは最近、OS開発を嫌います。
sleeplessnerd

ばかげた答え。製品全体を構築する専門家がいるにも関わらず、間違いが発生し、物事をかなり間違っていると確信しています。
chrismacp
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.