#起
自分は色々なアプリケーションを開きながら(主にadobe製品であるが)仕事をするため、32GBのiMac 2017でもすぐにメモリがアップアップになってしまう。あまりにアップアップとなった場合には再起動するのだが、1日何度もやってると時間が勿体ないし、第一気持ちが切れてしまう。ちょっと前まではOSX用のサードパーティ製のメモリ解放アプリを使っていたのだが、たまにハングったりするので、わりと使い勝手が悪いし、最近のOSXではサードパーティのメモリクリアアプリがApp Storeから削除されているので使用できない(Webにアップしてあるものもあるが、そういうものを使うのはちょっと怖いので基本的には使わない)。
しかし、OSXのコマンドラインではメモリーパージコマンドがあり、メモリー解放アプリをAutomaterでさくっと作ってみようじゃねえかということでやってみることにした。
注意
ここに書かれている事は対価も貰ってない代わりに義務も負いませんので、質問などは軽くシカトします。
ついでにいえば、以下の作業をして不具合が出ても自己責任ということで、書いた人間は全くもって責任は負いませんので、あしからず。
#メモリ解放コマンド
まずはコマンドラインでのメモリー解放方法をここに記する。
とりあえず、どこくらいメモリーを使用しているかを次のコマンドで確認する。
$ top -l 1 -s 0 | grep PhysMem
PhysMem: 17G used (2694M wired), 15G unused.
次にOSXでの解放コマンドはpurge
となっているので、使用してみる。
ただし、次のようにsudo
コマンドと併用しないと使えない。
$ sudo purge
ちょっとラグがあると思うが、無事解放されたかどうか、先ほどの使用メモリの確認コマンドを入れてみる。
$ top -l 1 -s 0 | grep PhysMem
PhysMem: 11G used (2727M wired), 21G unused.
大体、使用メモリを6Gぐらい開放出来たわけだ。
まぁコマンドラインを日常使っている人なら、これはこれでいいだろうと思うが、いちいちTerminalを開いて、メモリ解放コマンドを入れていくのもわりと面倒ではある。また、shellスクリプトを常駐させて、マークした以上にメモリを使用したらpurgeコマンドを実行するっていうのもできるにはできるが、常駐分CPUを占領させるので、あまりよろしくはない気もする。
#Automaterを使ってメモリ解放アプリを作成する
いよいよAutomaterを使ってメモリ解放アプリを作成してみることにする。
Automaterでsudoコマンドを使用するためのおまじない
前処理としてAutomaterでsudoコマンドを使用するために、若干コマンドライン操作が必要となる。
これは、通常Automaterでsudoコマンドを実行できないようにApple側がフィルターをしているためで、このフィルターを取っ払う必要があるためだ。
まずは次のようなコマンドを入力する
sudo vi /etc/sudoers
vi
コマンドで/etc/sudoers
に書きこむわけであるが、vi
コマンドが使えない人は・・・・まぁ、無理なのでこの時点であきらめて欲しい、ちなみに通常のテキストエディタで開く方法もあるが、あまりお奨めはしない。
次に一番最後の行に次の一文を書きこむ
Defaults visiblepw
この時、Defaults
とvisiblepw
の間はタブ1つ離すようにする(必ずタブを使うこと)。
最後にセーブするのだが、通常のセーブ&クローズコマンドであるwq
は受け付けないので、wq!
として終了する。
###Automaterの設定
Automaterで新規で作成するのだが、その場合アプリケーションとして作成する。
作成したら、次のように作成するのだが、まずはテキスト>指定されたテキストを取得を選び、テキストエリアに自分のパスワードを入れ、次にユーティリティ>シェルスクリプを実行を選び、sudo purge
と入れる。
後はファイルメニューから書き出しをすればメモリ解放アプリケーションのできあがりである。
割と簡単にでき、ただで使えるので、費用対効果(?)も抜群だ。
また、アプリケーション形式で書き出しても、後からAutomaterで開くことができるので、万が一エラーが出た場合も検証できるだろう。
#結
以上でメモリ解放アプリを作成したが、本来は上のメニューバーに登録して使えたらもっと利便性が上がる。しかし、現状Automaterではできない様だ。また、そこまでやろうとすると今度はXcodeを使わなければならないので、ちょっと敷居が高いというか、そんなアプリ作ったらシェアウェアにしたいところだけど、この手のアプリはApp Storeに登録できないので大して儲からんし、やるだけ無駄ではある。
とりま、現状はこれぐらいで充分ということでここにまとめたわけだが、これを見て役立つ人がいるなら、書いた本人としてはこの上ない喜びである。