【 Mac 】メモリ解放を簡略化して手軽にする方法

動作が遅くなったときの対処法
– Sudo purge – ターミナル入力をAutomator.appでアプリ化

MacOSに備わっている機能を利用してメモリの開放をしてみよう!…というお話

更にその手順をAutomatorで自動化していつでも気軽に出来るようにして、メモリの開放をサクッと試せるようになります




MacOSといえば作業終了後、シャットダウンは要?不要?と話題になる事もあったようですが、Mavericks以降メモリの開放は不要…とされつつも相変わらず関連のツールを見かけられる

とはいえシンプルにメモリの開放だけを求めるのであれば、ターミナルから”sudo purge”を実行することで解消することが出来るらしい

キャッシュがクリアされることで逆効果…という意見も見受けられますが、その辺は何のキャッシュが停滞しているか?にも左右されるでしょうから、手軽にメモリを開放できるなら試さないのももったいない

というわけで、ターミナルから”sudo purge”を実行する操作をautomator.appを使ってアプリ化してみます

※お断り

今回の内容はターミナル経由でコマンド操作を行う少々シリアスな作業となります
実行によって生じたと思われるいかなる損害に対しても、筆者は一切責任を負えませんので、あくまで自己責任での操作をお願いいたします


アプリ化する内容

Automator.appに自動化させたいのはターミナルへのコマンド入力

・ターミナル.appを起動して…
・”sudo purge”をタイピングしてenter
・Mac起動時のパスワードを入力
・メモリが開放される

なれている人にとっては”たったそれだけのこと…”と思われるでしょうが、普段ターミナルappを起動させてコマンド操作をしない人にとっては不慣れな操作

そこで”たったそれだけのこと…”をAutomator.appで自動化してみたいと思います

ちなみに、プログラム関連に馴染みのある方であれば”スクリプトエディタ”択一なのでしょうが、ここではプログラム初心者にも優しそうなAutomator.appで作業いたします

Automator.appの操作

まずはAutomator.appを起動

アプリケーションフォルダからAutomator.appをダブルクリック

書類の種類を選べるので、ここで”アプリケーション”をチョイス

左側のアクション一覧から”AppleScriptを実行”をドラッグ&ドロップ

ドラッグ&ドロップするとこんな風になる

挿入されたワークフローの中に記されている”(* Your script goes here *)”の場所にAppleScriptで実行させたいコマンドを記入します

ちなみに今回はコピペでいいので

do shell script “sudo purge” password “あなたのパスワード” with administrator privileges

に置き換えます

“あなたのパスワード”の部分は、お手元のMacOS搭載機の管理者パスワード(起動時に入力するPW)に書き換えるのですが、多くのサイトでもご指摘のように、無防備なアプリケーションの中に重要なパスワードがのこのこと書いてあるのは心許ない

なので、私の場合はこの部分を記入せず、メモリ解放のその都度自分で入力することにしました

幸いパスワードを記載しないだけでパスワード入力の小窓が開いてくれましたので助かりました(笑)

ワークフロー内の書き換えが完了しましたら、動作確認をします
(書き換えに不備がなければ問題ないのですが、こういう事はビビリなくらいがちょうどよかったりします)

画面右上にある実行ボタンをクリックします

Automator.app内での実行は不完全ですよ的なお知らせが表示されましたら”OK”をクリック

今回はパスワード入力の自動化をを省略していますからここで入力します

少々時間を置いて画面下部にあるログの枠にエラーメッセージが表示されなければ完成です

作成した内容をアプリケーションとして保存します

保存の際、名前の右に表示されている”.app”を確認して、任意の場所に保存して下さい
(私はアプリケーションフォルダに保存しました)

名前に表示されている拡張子が”.app”となっていない場合は、automator.app終了の操作をしてから保存しますと、うちの環境(バージョン2.8)ではフォーマットが変更できました

アプリとして保存したあとはDockにでも登録しておきますといつでもサクッとメモリ解放を行うことが出来ます

メモリ解放という操作も、そうそうしょっちゅうする作業でもないからこそ、せっかくこしらえたアプリの存在が忘却の彼方へと消え去ってしまわないよう目に付きやすいところに置いておくのがよろしいかと

メモリを開放の効果

MacOS Mavericks以降はメモリ管理の根本に修正が入っているとかでそれ以前のMacOSほどの効果は期待できないのかもしれません

そもそもうちのMacBookProちゃんのような物理的なメモリ不足(ちなみに8GBですw)は致命的な問題

だからこそ、少しでもあがいておくしかない…ともいう(笑)

ちなみに今、アクティビティモニター.appを起動してメモリの使用状況を確認してみますと…

使用済みメモリ:6.70GB
キャッシュされたファイル:1.26GB
アプリケーションメモリ:2.26GB
確保されているメモリ:2.11GB
圧縮:2.33GB

…となっています

手元のOSはMavericks以降のHighSierraですので、まずは閉じられるアプリケーション(Keynote/Crome/automator)を閉じてみます

すると…

使用済みメモリ:3.51GB(△3.19GB)
キャッシュされたファイル:1.23GB(△0.03GB)
アプリケーションメモリ:984.6MB
確保されているメモリ:1.80GB(△0.31GB)
圧縮:765.6MB

さすがは再設計されたメモリ管理といいましょうか、不要なアプリを閉じるだけでアプリケーションメモリや圧縮では単位が変わってしまうほどに効果が現れました

ちなみにその後、先程制作しましたpurgeアプリを実行してみますと…

使用済みメモリ:3.40GB(更に△0.11GB)
キャッシュされたファイル:390.5MB
アプリケーションメモリ:869.5MB(更に△115.1MB)
確保されているメモリ:1.80GB(変化なし)
圧縮:762.3MB(更に△3.3MB)

アプリを閉じただけでは微減だったキャッシュされたファイルが結構整理されました

使用済みメモリの内訳の方でも僅かながら確保されています

整理されるメモリの結果は環境や作業の状態によってまちまちなのかもしれませんが、今回の事からMavericks以降のMacOSにおいても、”sudo purge”コマンドの効果に期待しないのはもったいないと思っていいのではないでしょうか

まとめ

遅くなりましたが今回作業したMacOSはmacOS High Sierra ver 10.13.6 となっております

メモリの開放による効果が期待を下回った場合は、セーフブートやPRAMのリセットといった対処法も試してみるといいかもしれません

セーフブート
Mac でセーフモードを使う方法 – Apple サポート

PRAMのリセット
Mac で NVRAM または PRAM をリセットする – Apple サポート

その他、特殊な起動法
Mac の起動時のキーコンビネーション – Apple サポート

メモリの開放に限らず、セーフブートやPRAMのクリアにおいても、都合よく消したいところだけを狙って消去!とはいきません
マシン側の判断で、消せるものは消す!といった処理がされてしまう(と思われる)

キャッシュなど”一旦置いといて…”とメモリ内にわざわざ残してある内容は、再び同じ処理があった時にスムーズな処理をするために保存してあるわけです
つまりキャッシュがあるからこそのスムーズな部分もあり、そこを消してしまうことによる回り道をあえて通ってしまう…ということになってしまう

メモリの開放とは諸刃の剣となってしまう場合もある(のかも)
ただ、何かしらの不具合に見舞われているときはひとつづつ試していくしかない

そんな時、真っ先に試すべき方法が普段使い慣れないコマンドによる操作で、その都度調べて作業するよりも一度今回のように自動化しておけば次は手軽に試すことが出来る

”sudo purge”のコマンドに効果を実感できた場合には、思い切ってアプリ化による自動化もやっておくと、次に必要になった時に便利だと思います

※お断り

今回の内容はターミナル経由でコマンド操作を行う少々シリアスな操作となります
実行によって生じたと思われるいかなる損害に対しても、筆者は一切責任を負えませんので、あくまで自己責任での操作をお願いいたします

Special Thanks

参考にさせていただきました
もうメモリ解放アプリはいらない!ターミナルからメモリ解放する方法 – あなたのスイッチを押すブログ

ページトップへ戻る

タイトルとURLをコピーしました