Windows XP の動作を軽快にしたい
(1)デスクトップに何も置かない
(2)クラシック表示に切り替える
(3)システムフォントの軽量化
ウィンドウに使用されるシステムフォントは、デフォルトでは MS UI Gothic(9ポイント)ですが、ベクトルフォントでなくビットマップフォントを使用すると、描画速度がかなり向上します。Terminal フォントを指定することにより、パフォーマンスの向上が見込めます。
デスクトップの何もないところで右クリックし、「デザイン」タブの「詳細設定」ボタンをクリックします。表示される「デザインの詳細」ウィンドウで、「アクティブ タイトル バー」「メッセージ ボックス」「メニュー」の各部分のフォントを、「Terminal」とし、サイズに 10 ポイントを指定してください
(4)スタートボタン・タスクバーの軽量化
スタートボタンを右クリックし、「プロパティ」をクリック、「カスタマイズ」ボタンをクリックします。「タスクバーと[スタート]メニューのプロパティ」ウィンドウが表示されるので、「詳細設定」タブの「[スタート]メニューの設定」領域にある「新しくインストールされたプログラムを強調表示する」というチェックボックスを無効にします。さらに、[スタート]メニュー領域で、必要でない機能へのショートカットアイコンを表示しないようにします。また、「最近使ったファイル」領域にある「最近開いたドキュメントを一覧表示する」というチェックボックスを無効にします。スタートボタンの反応速度・一覧性が向上します。
上のウィンドウの「タスクバー」タブに切り替え、「通知領域」フィールドの「アクティブでないインジケータを隠す」というチェックボックスを無効にします。インジケータが大量に表示される場合、それぞれのインジケータをスタートアップ時に読み込まないよう、各種設定を行ってください。これらの設定で、スタートボタンとタスクバーがシステムにかける負担を軽減することができます。
(5)フォントキャッシュファイルを固定する
Windows は英語環境で使用されることを前提としており、文字表示の効率を高めるために、フォントキャッシュを作成します。が、これは文字数が大文字・小文字を合わせても50字程度の英語環境では有効ですが、2000字を超える文字を扱う日本語環境では、キャッシュファイルの肥大化を招くだけです。フォントキャッシュは読み取り専用にして、肥大化を防ぐとよいでしょう。
エクスプローラから、Windows がインストールされているドライブの WINDOWS\system32\ フォルダを開き、ここの「FNTCACHE.DAT」というファイルを右クリック、「プロパティ」をクリックします。「全般」タブの「属性」領域の、「読み取り専用」チェックボックスを有効にします(図7)。起動時の処理が速くなり、フォントの破損もある程度防げます。
などなど。
トラブル対策のためのコンピュータ情報を効率よく収集する @IT
Windows XPには、このような場合に頼りになるユーティリティが標準で用意されている。「システム情報」(msinfo32.exe)と呼ばれるツールだ。
「止まる」「遅い」を元から絶つ!オープンソースのトラブル解決】第1回 アプリケーション異常終了 ITpro
strace :システムコールを追跡
ltrace : ライブラリコールを追跡する
ltraceの使い方
ltrace [option ...] [command [arg ...]]
代表的なオプションとして,下記がある。
・-f: 子プロセスの挙動もあわせてトレースする
・-o fname: トレース結果をファイルに保存する
・-S: システムコールも表示する
・-t: タイムスタンプも表示する
・-p PID: 実行中のプログラムをトレースする
トレース結果
$ ltrace test_app
:(省略)
5421 sleep(1) = 0
5421 malloc(10485760) = 0x927b3008
5421 printf("%u?tmsg-out: %d?n", 59, 10485760) = 22
5421 sleep(1) = 0
5421 malloc(10485760) = NULL
5421 --- SIGSEGV (Segmentation fault) ---
5421 +++ killed by SIGSEGV +++
malloc関数にnullが返されそのその後、セグメンテーション違反が発生している。
上記に対し、ソースコードから解析する。
コアダンプによる解析
$ gdb test_app core.5421
| :(省略)
Reading symbols from /lib/tls/libc.so.6...done.
Loaded symbols for /lib/tls/libc.so.6
Reading symbols from /lib/ld-linux.so.2...done.
Loaded symbols for /lib/ld-linux.so.2
#0 0x08048537 in write_buf () at test_app.c:18
18 p[i] = 'a';
(gdb)
「このソフト、パッチが当たらないよ!」 ITmedia
ソフトウェアの言語仕様が異なるとインストールできない場合があるんですね。
たしか、Powerhute英語版も日本語OSにはインストールできない仕様だったなー。
なんとかそれがわかるようなメッセージがでないもんでしょうかね。
「ジャイアンじゃないよ、シャイアンだよ!」 ITmedia
結局何が原因だったんでしょう。