bgpict2.png 
わかばマークのMacの備忘録
初心者による Mac OSX の便利な使い方や、ソフトウェアの紹介など、Macのこといろいろ。

2020 / 02

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 

http://wakabamac.blog95.fc2.com/blog-entry-179.html

Release Memory2
icn_AppleScript
Release Memory2 : メモリ領域を解放するAppleScript
OS10.?~10.4 ※OS10.3.9では使えた
フリーウェア


うむらうすさんの「スワップファイルをなくそう4」の記事中で公開されている AppleScript の「Release Memory2.scpt」の紹介です。

最初に注意書きとして、このスクリプトはスワップファイルを削除するものではありません
スワップファイルが新たに作られる前に、このスクリプトを実行してメモリを解放するものです。スワップファイルが既にたくさん作られてしまった場合は、再起動しましょう。

(参考ページ)
スワップファイルをなくそう (うむらうす)
スワップファイルをなくそう2 (うむらうす)



swapfile

【 スワップファイルって? 】


そもそも「スワップファイル」とは何?と言う話から。

スワップファイルとは 【swap file】 - 意味・解説 : IT用語辞典 によると・・・

使われていないメモリ領域を一時的に保存しておくためにハードディスク上に用意されたファイル。メモリ容量が少ないと大きなスワップファイルが作成され、頻繁に内容の交換が発生するため、システムの性能低下を招く。



要するに、物理メモリで補いきれない分を、ハードディスクにスワップファイルとして保存し、仮想メモリとして使っています。
(専門家じゃないので、あまり詳しいことは知りませんが・・・)


MacOSX の場合は、起動時に自動的に1個(64MB)のスワップファイル(ファイル名は swapfile0)が作られます。作られる場所は

/private/var/vm/swapfile0

の不可視フォルダに作られます。

使って行くうちにメモリが足りなくなって来ると、スワップファイルがどんどん増えて行きます。

1個目 : swapfile0(64MB)←起動時に必ず作られる
2個目 : swapfile1(64MB)
3個目 : swapfile2(128MB)
4個目 : swapfile3(256MB)
5個目 : swapfile4(512MB)
6個目 : swapfile5(1024MB)

という風に増えて行きます。

070811r2m1

スワップファイルが、なぜ忌み嫌われるかと言うと、これが増えて行くことによってMacの動作が激遅になってしまうからです。

僕の場合、5個目のスワップファイルが作られてしまうと、何をするにしても動作が遅いカメさんモードになり、6個目が作られてしまうと、ほとんど使い物にならなくなります。

再起動すれば、スワップファイルは削除されます。
再ログインでは、ちゃんと削除されません。





【 Release Memory2 を使ってみる 】


上記のように、増えると厄介なスワップファイルですが、「Release Memory2」は、スワップファイルを新たに作らせない為に、いっぱいになったメモリの領域を解放する AppleScript です。

長時間、Macを起動させていて、アプリケーションをたくさん起動していたり、起動しっ放しにしているとメモリの空き領域が少なくなって行きます。

アプリケーションをこまめに再起動しても、メモリの「インアクティブ(現在非使用中)」領域が少しずつ増え、メモリの「空き」領域は減って行きます。OS側で次の行動に備えてDATAをいろいろとキャッシュしているので「インアクティブ」領域が増えて行きます(間違ってたらすみません)。
ハルさん流に言うと「捨てられない症候群」らしい。

例えば、アクティビティモニタ でメモリの状態を見て、このような状態であったとします。

<Release Memory2 使用前>
070811r2m2

--- 固定中(ワイアード)
--- 現在使用中(アクティブ)
--- 現在非使用中(インアクティブ)
--- 空き

この状態で Release Memory2 を使ってみます。
(けっこう時間が掛ります。席を外す前などに実行するのがいいでしょう。)

起動中はメモリの使用領域が増えたり、減ったりして行きます。この間はメモリに新たなキャッシュが加えられるようなことはしない方がいいです。何もしない方が無難。

このメモリ使用量が増えたときに、思いがけず、スワップファイルが新たに1個作られてしまうなんてこともありますが、細かいことは気にしてはいけません。

Release Memory2 が終了するとダイアログで表示されます。
070811r2m5

終了後にアクティビティモニタを見てみると、このようになっています。

<Release Memory2 使用後>
070811r2m3

「ワイアード()」「アクティブ()」領域はあまり変わりませんが、「インアクティブ()」領域が解放され、「空き()」領域に変わっています。

: インアクティブ 200.84MB → 127.17MB (73.67MB減)
: 空き 79.15MB → 129.59MB (50.44MB増)


上記でアプリケーションをこまめに再起動しても、あまり効果がないようなことを書いたけど、メモリを大食いするアプリケーションについては、再起動する価値はあります。
使用環境によって違いはあるでしょうが、だいたいWebブラウザが大きくメモリ消費しています。
この状態で、Webブラウザを再起動してみると・・・

<さらに Webブラウザ 再起動後>
再起動する前と、同じページを開いて同じ条件にしています。
070811r2m4

「空き()」領域がずいぶん増えました。
代わりに「インアクティブ()」領域が増えてしまうので、Release Memory2 を実行する前に Webブラウザを再起動する方がいいでしょう。





【 Release Memory2 がやってること 】


Release Memory2 がやってることは下記の通りです。

・Finderの再起動 (参考記事 : アプリケーションの強制終了
・Dockの再起動
・アクセス権の修復 (参考記事 : Disk Utility/ アクセス権の修復
・Dashboardのキャッシュの削除

この4つのことを、AppleScriptを使って、まとめてやっています。
それぞれ、手動でやっても同じ効果はあると思います。
なぜ、アクセス権の修復でメモリを解放するのか、よく解りませんが・・・。

「Dashboardのキャッシュの削除」については、OS10.3以下では意味が無いので、スクリプトエディタでこの行を削除してしまうなり、行の頭に「--」をつけてコメントアウトしておいたほうがいいでしょう。
(参考記事 : AppleScript をいじってみる
070811r2m6

別にそのままでも、動作するようです。

('07/10/13追記)
作者のハルさんからコメント頂いたのですが、Dashboardのキャッシュの削除は、メモリ解放とはあまり関係ないようです。
(追記おわり)





【 Release Memory2 自分なりの使い方 】


Release Memory2 の使い方として、メモリの状態を監視しておかなければ、あまり使えません。(上位版の「Freemem Monitor」「Freemem Keeper」を使えば、メモリの監視もやってくれる)

作者のハルさんもやってる?ように「MenuMeters」などのステータス監視ソフトを使うのが、いいようです。
070804mms1

僕の場合も、MenuMeters を使ってでチェックするのですが、やはり見落とすことが多いです。
なので、スワップファイルの保存先のフォルダ

/private/var/vm

の「vm」フォルダに、フォルダアクションを添付して、スワップファイルが作られるごとに Growl で表示させるようにしています。
070811r2m8
(参考記事 : Growlでフォルダ監視

これで、スワップファイルが作られたのを Growl で確認した後に、Release Memory2 を起動させるようにしています。特に「swapfile3」が作られた後に。

本末転倒な使い方ですが、僕の場合はメモリを768MBしか積んでいないので、スワップファイル無しでは成り立ちません。
5個目あたりのスワップファイルをいかに作らせないかということに、Release Memory2 を使っています。

「3、4個スワップファイルが出来てしまってるなら、再起動した方が早いんじゃ・・・。」
と、話の腰を折るようなことは、決して言ってはなりません。



それと、Release Memory2 の起動の方法ですが、スクリプトメニューはスペース確保のため表示させていません。
ButlerQuicksilverAmScriptsCMX などを使って起動させる方法もありますが、僕の場合はスクリプトをアプリケーションとして保存し直して使っています。

('07/10/13追記)
今現在は、スクリプトをアプリケーションバンドルとして保存して、配布されているようです。
(追記おわり)

やり方はスクリプトエディタで「Release Memory2」を開いて、別名保存でフォーマットを「アプリケーション」にして保存します。
070811r2m7
(上位版の「Freemem Monitor」「Freemem Keeper」をダウンロードすれば、アプリケーションバンドルとして保存された「Release Memory2」も同梱されています。)

こうすれば、普通のアプリケーションと同じように使えます。
これを、Finderウインドウのツールバーに登録しています。これなら忘れっぽい僕でも、アイコンを見たときに思い出すからです。
070811r2m9
(参考記事 : Finderウインドウのカスタマイズ

ついでに、ツールバーにマッチするようにアイコンを作ってみました。黄色下線部のアイコンです。




(あとがき)
僕は書きかけの記事を長い間、放っておく癖がある。
この記事も、ずいぶん前に書きかけたんだけど、この手のものは、素人の僕にとって頭の中でおぼろげに分かっていても、なかなか文章にすることが難しい・・・。
そうこうしている間にハルさんが Release Memory2 の上位版のものを公開されています。

残り空きメモリ監視AppleScript「Freemem Monitor」作成 (うむらうす)
空きメモリ確保AppleScript「Freemem Keeper」作った (うむらうす)

これらも、ダウンロードさせてもらいました。
また、そのうち記事にします。
(いつになるか、分からないけど・・・)



('07/11/02追記)
OS10.5 Leopard では Release Memory2 は効果がありません。アクセス権の修復を行っても、メモリの解放はしないようです。
OS10.4 Tiger まで。
(追記おわり)



('08/08/23追記)
OS10.5 Leopard対応版の「Release Memory for Leopard」を新たに作られています。
Release Memory for Leopardを作ってみた (うむらうす)

やっていることは以下の通り。
・Finder再起動
・Dock再起動
・Dashboard cache消去
・locate databaseの更新

終了時に Growl でお知らせするバージョンもあります。
(追記おわり)





(ダウンロードリンク)
Site top page : うむらうす
Download page : スワップファイルをなくそう4



(関連記事)
Freemem Monitor & Freemem Keeper --- メモリを監視してメモリ領域を解放する
Libera Memory --- 使用していないメモリ領域を解放する

edit

Utility | CM:4 | TB:0

tag : Memory  Maintenance  AppleScript  アクセス権 

+

http://wakabamac.blog95.fc2.com/blog-entry-292.html

PeriodicScript Watchdog
icn_script
PeriodicScript Watchdog : メンテナンススクリプトの実行時刻を確認
OS10.0?以上(PPC,Intel)
フリーウェア


システムが定期的に実行するメンテナンススクリプトの実行時刻を表示するAppleScriptで作られたアプリケーションの「PeriodicScript Watchdog」の紹介です。


ソフトの説明の前に、メンテナンススクリプトについて。

Onyxなどのメンテナンスソフトを使ったときに、メンテナンス項目に

デイリー スクリプト
ウィークリー スクリプト
マンスリー スクリプト


とあります。メンテナンスをするものだとは分かりますが、あまりよく知らずに使っていましたが、「PeriodicScript Watchdog」添付の説明ファイルを見て初めて、それがどういうものかと知りました。

そこから引用すると・・・
添付ファイル【 PeriodicScript Watchdogについて 】より

定期メンテナンススクリプトには、1日に1回実行されるdaily、1週間に1回実行されるweekly、月に1回実行されるmonthlyの3種類があります。

Mac OS X 10.3.x Pantherまではcronという機能によって、それぞれのスクリプトの実行日時が設定されていました。Mac OS X 10.4.x TigerではLaunchd
という機能に置き換えられました。

しかし、その実行時刻はPanther、Tigerともに午前3時15分であり、常識的に考えてMacが動作しているとは考えにくい時刻です。

さらにTigerで導入されたLaunchdの時刻指定機能(StartCalendarInterval)はバグが多いらしく、事実上定期メンテナンススクリプトの実行時刻は不定と言ってもおかしくない状況です。



ここから、メンテナンススクリプトはシステム標準機能で、夜中の時間に1日ごと、1週間ごと、1ヶ月ごとに動作しているものだと知りました。


ただ、こんな時刻設定だと、ちゃんとやってるのか怪しいので「PeriodicScript Watchdog」でチェックしてみました。


PeriodicScript Watchdog を起動してみると、下のウインドウが表示されます。
(AppleScriptですが、アプリケーションバンドルとして保存されているので、普通のアプリケーションと同じようにダブルクリックで起動します。)
070915psw1

ここで「はい」を選択すると、デイリースクリプト最新の実行日時が表示されます。
070915psw2

ちょうど、先週だった。

これでまた「はい」を選択すると、ウィークリースクリプトの最新の実行日時が表示されます。
070915psw3

今度は5月まで遡った。
ウィークリースクリプトは土曜日のAM4:30からの開始するようです。

また「はい」を選択すると、マンスリースクリプトの最新の実行日時が表示されます。
070915psw4

2006年にまで遡ってしまった。
マンスリースクリプトの開始はAM5:30からのようです。1日に実行?するようです。


メンテナンススクリプトは、Onyxなどのメンテナンスソフトから1ヶ月に1回ぐらいは実行しているけれど、PeriodicScript Watchdog では、認識出来ていないようです。

それと、おまけで付いている「PeriodicScript.command」(ターミナルで定期メンテナンススクリプトを実行するシェルスクリプト)は、僕の環境では使えませんでした。






(ダウンロードリンク)
Site top page : Pipedreamな雑記帳・ホーム
Download page : PeriodicScript Watchdog(Macintosh / ユーティリティ)

edit

Utility | CM:0 | TB:0

tag : AppleScript  Maintenance 

+

http://wakabamac.blog95.fc2.com/blog-entry-207.html

AppleJack
icn_AppleJack
AppleJack : シングルユーザモードで動くトラブルシューティングツール
OS10.2以上(UB)
ドネーションウェア


是非インストールしておくことをお勧めするメンテナンスソフト「AppleJack」の紹介です。

このソフトは、Macの手書き説明書さんの『Macの手書き説明書 | AppleJack』を見て以前からインストールしていたんですが、これにお世話になるような深刻な状況に陥ることが無かったので、使ったことがありませんでした。

ところが先週の土曜日から、OSを起動するのに10分もかかるような状況になり、ソフトもまとも起動せず、Internet接続も出来ない状況になりました。

Onyxなどのメンテナンスソフトを使っても修復出来なかったのですが、この AppleJack を使ってみると、無事治りました。(・∀・)
veaderさんが「最強」と言うだけのことはあります。すごいよ、このソフト。



使い方は、まずインストーラを使ってインストールして、シングルユーザモードで立ち上げます。
シングルユーザモードは command+S を押しながら(黒い背景のスクリーンが表示されるまで)、起動します。
そこで、以下のコマンドを入力して実行します。こういうのに慣れていない僕でも、簡単なので誰でも出来ると思います。



applejack auto」と入力して returnキー を押すと、あとはすべて自動でやってくれます。僕の場合、これだけで治りました。

applejack auto restart」と入力すると、AppleJack 終了後にシステムを再起動します。
applejack auto shutdown」と入力すると、AppleJack 終了後にシステムを終了します。


まだ問題が改善されないときは、
applejack AUTO」と入力すると、「Launch Services database」「ユーザピクチャ」を含むキャッシュファイルを削除します。

これは僕も試していないので、「Read Me」の内容を書いてるだけです。




それと、これは「AppleJack」とは関係ありませんが、Macのトラブルシュ-ティングなど書かれたホームページをいろいろブックマークしていたのですが、今回はネットに接続出来ない状況だったので、役に立ちませんでした。orz

他にネット接続出来る環境であればいいのですが、ウチには(携帯電話を除いて)iBook以外にネット接続出来る環境は無いので、こういった情報はオフラインでも見れるようにPDFで保存するなり、しておいた方がいいです。
(当たり前か・・・)
プリントアウトしておけば、尚いいでしょう。

システムが起動出来る予備のハードディスク、買わないと・・・。





(ダウンロードリンク)
Site top page : AppleJack Project Page
Download page : AppleJack 1.4.3 - MacUpdate

edit

Utility | CM:2 | TB:0

tag : Maintenance  アクセス権 

+

http://wakabamac.blog95.fc2.com/blog-entry-210.html

PRAMクリア
先週末からMacの調子が悪く、Mail.app が起動出来ない状態になってしまいました。
Disk Utility でアクセス権の修復をしたり、OnyX というメンテナンスソフトを使ったりしてみましたが、良くなる気配はなし。

良くなるどころか、今度は Safari まで、立ち上がるのに5分以上もかかるような状態になってしまいました。


初期設定ファイルを外し、キャッシュを捨てて、調子が悪くなる直前に導入したソフトをアンインストールしてみたり、やってみましたが結果は同じ。

気のせいか、他のCocoaアプリケーションの動作も遅いような・・・。


アプリケーションのみ再インストールかとあきらめかけたとき、ダメ元でOS9時代にはよくやってた「PRAMクリア」をやってみました。


すると、見事に Mail と Safari が立ち上がるようになりました。(・∀・)
OSXではほとんどやったことのない「PRAMクリア」でしたが、効果があるんだ?とちょっとビックリしました。

そこで、「PRAMクリア」について調べてみました。





【PRAMクリア のやり方】


PRAMクリア のやり方は、Macの電源を入れて立ち上げるときに

command + option + P + R

を押しながら、ジャーンという起動音が2回鳴るまで、押しっ放しにします。

2回鳴ったら、キーを離し、普通にOSが立ち上がります。
これで完了です。

Appleサポートの「Macintosh: PRAM および NVRAM をリセットする方法」のページによると・・・

コンピュータの PRAM(パラメタ RAM)と NVRAM(Non-volatile RAM:不揮発性 RAM)が初期値(デフォルトの値)にリセットされます。時刻の設定は一部のモデルでは初期値にリセットされる場合があります。







【PRAMとは】


「PRAM(Parameter RAM)」
Macに内蔵された、設定記憶用RAM。電源供給によって電源OFF時にも情報を保持し、ユーザー設定の情報などを保持する。

Appleサポートの「Mac OS X: PRAM には何が保存されますか」のページによると・・・

PRAM は、特定のシステムやデバイスの設定を、Mac OS X が素早くアクセスできる場所に保存します。正確には、コンピュータの PRAM に保存される設定は、コンピュータの種類や、コンピュータに接続されているデバイスやドライブの種類によって異なります。

PRAM に保存される情報の一部には、次のようなものがあります:
時間帯設定
起動ボリュームの選択
スピーカの音量
存在する場合は、最近起きたカーネルパニックの情報
DVD リージョン設定


Mac OS の以前のバージョンとは異なり、Mac OS X は PRAM にディスプレイやネットワークの設定を保存しません。ビデオやネットワークの問題が起きた場合、PRAM のリセットを行なっても問題を解決できません。



上記の説明文を読んでると、PRAMに保存されている内容が不具合と関係しているように思えず、どうして治ったのかますます解りません。
でも治っちゃったものは仕方がないので、あまり深く考えないようにします。

たいした設定情報が消えるわけでもないし、Macが不調のときは試してみるといいかもしれません。





(参考ページ)
Appleサポート :
Macintosh: PRAM および NVRAM をリセットする方法
PowerBook および iBook のパワーマネージャ (PMU) のリセット
Mac OS X: PRAM には何が保存されますか

edit

Macの基本操作 | CM:0 | TB:0

tag : Troubleshooting  Maintenance 

+

http://wakabamac.blog95.fc2.com/blog-entry-211.html

Disk Utility/ アクセス権の修復
icn_DiskUtility
Disk Utility : アップル純正ソフト


Macのメンテナンスの基本中の基本、「Disk Utility」を使ったアクセス権の修復についての話です。

Macの調子がおかしいなと思ったとき、真っ先にやってみるのが、このアクセス権の修復です。

いろいろなソフトをインストールして使用していると、予期しないところでアクセス権が書き換えられてしまうことがあります。
Disk Utility はそれを正しいアクセス権に修復する機能を持っているユーティリティです。


 

【アクセス権とは】


そもそも、アクセス権とは何?という話から。
読んで字の如く、ハードディスクに保存されたファイルやフォルダを利用する為の権限のことです。アクセス許可のことをパーミッション(permission)とも言うらしいです。

Disk Utility ではパッケージファイルからソフトをインストールする度に作られるレシートファイルを元にアクセス権の検証を行っています。
070702ap1
レシートファイルは
/Library/Receipts
のフォルダ内に作られます。

拡張子は「.pkg」です。


この各レシートファイルの中には部品表(拡張子は「.bom」。コンテキストメニューの「パッケージの内容を表示」から確認出来ます。)が保存されています。

この「.bom」ファイルには当該パッケージによってインストールされたファイルのリストと、ファイルごとの適切なアクセス権が記述されています。

Disk Utility はこれと、各ファイルにリストされている実際のアクセス権を比較し、アクセス権に相違がある場合、その相違を修正します。
逆にレシートファイルが削除されていたり、レシートファイルがないものでは、Disk Utility はアクセス権の検証・修復が出来ません。

だから、ソフトをアンインストールするときなど、レシートファイルの取り扱いは慎重に行った方がいいです。そんなにディスク容量を圧迫するものでもないし、解らないときはそのまま残しておいた方がいいです。


いろいろと説明していますが、うろ覚えの知識を参考ページを参照しながら書いただけなので、あまり細かいことに突っ込まないで下さい(汗)。


(参考ページ)
IT用語辞典 : アクセス権とは
IT用語辞典 : パーミッションとは
Appleサポート :
ディスクユーティリティのディスクのアクセス権の修復機能について





【アクセス権の検証・修復】


Disk Utility を使ってアクセス権の検証・修復する方法です。
( /Applications/Utilities/Disk Utility の場所にあります。)

まず、Disk Utility を起動して左ペインでアクセス権を検証・修復するボリュ-ムを選択して、「First Aid」タブを開きます。
070702ap2


これで「ディスクのアクセス権の修復」ボタンをクリックすると、アクセス権を検証して修復します。「ディスクのアクセス権の検証」は検証のみ行います。
070702ap3

尚、起動ディスクから「ディスクの検証・修復」は出来ません。起動ディスクからは「アクセス権の検証・修復」のみ行えます。
「ディスクの検証・修復」をする場合は、システムを起動出来る別のハードディスクからOSを立ち上げるか、インストールDVDからOSを起動して行います。


ディスクの検証は少し時間が掛ります。
070702ap4


アクセス権を修復したファイルはウインドウに表示されて行きます。
完了すると「アクセス権の修復が完了しました」と表示されます。
070702ap5




Macの調子が悪いときや、定期的なメンテナンスには、まず Disk Utility を使ってアクセス権の修復をすることをオススメします。




(参考ページ)
Appleサポート :
Mac OS X のアクセス権に関する問題のトラブルシューティング
ディスクユーティリティが、チェック時にアクセス権“33261”を報告するメッセージは無視できます

edit

Macの基本操作 | CM:6 | TB:0

tag : アクセス権  Maintenance 

+