Javaトラブルでは『情報がなくて、再現もなかなかしません』といった状況に陥ることがある。このような状況を回避するために、以下の3つの代表的なトラブルを例に、アプリケーションサーバを再起動する前に何を取得すれば良いのかをまとめてみる。 アプリケーションから応答がない アプリケーションが遅い ヒープメモリが足りない(OutOfMemoryErrorの発生) アプリケーションから応答がない 取得する情報 スレッドダンプ データ取得方法 スレッドダンプとは、コマンド実行時点でのJavaスレッド実行状態を出力したものである。応答がない場合、何らかの要因によりどこかで処理が止まっていることが想定される。スレッドダンプは『どこで止まっているのか?』を切り分けるのに大切な情報である。 取得方法はJDKのバージョンによって色々ある。 kill -3 <pid> (少なくとも1.4.2にはある〜JDK7でも
この記事を公開する直前に Vagrant Cloud がはてブに上がってるのを見て、今あわてて追記しています。すごい楽しいことになってますねー。 Vagrant Cloud Vagrant 1.5 and Vagrant Cloud - Vagrant ブログ記事をざっと読んだ感じだと、Vagrant 1.5 の新機能は、 VagrantShare - まるで公開されてるサイトみたいに VM の URL をチームメンバーに見せる Box を koseki/centos みたいな短い名前で指定できるように。バージョン管理 rsync と SMB でフォルダ同期 Hyper-V - MS の仮想環境に対応 insecure-private-key の代わりに SSH でパスワードが使えるように プラグイン管理 Funtoo, NetBSD, TinyCore Linux のゲストに対応。ネット
その昔、僕が客先常駐ソルジャーだった頃、そこには辺り一面炎上プロジェクトばかりでした。 当時僕の参加していたプロジェクトでは、 SQLで書いたら数秒〜数分で済むであろうバッチ処理をなんちゃってEJB 1.0のような独自フレームワークを使って数時間かけて処理し、挙句に朝までに終わらないと問題になって作り直したり なぜかすべてのバッチがSQL*Plusを叩くシェルスクリプトで実装されており条件分岐で済むようなケースがすべて別ファイルとしてパターン数分用意されていたため処理を少し修正するだけでも数百のシェルスクリプトを修正しなくてはいけなかったり はたまたオンラインの処理では1人のユーザがボタンを押すだけで200M以上のメモリを消費しこれ想定ユーザ数での使用にどう考えて耐えられないでしょみたいなものがあったり ResultSetをJSPまで持ち合わしてどこでもクローズされていなくてJMeterで
Revert Bufferというのがあるらしい。 M-x revert-buffer RET yes RETで、読み込みなおすことができる。 まぁだけど、出来ればブラウザみたいにC-rとかで簡単に読み込みなおしたいって思うじゃない。 あと、確認のyesを入力するのも手間だと。 そうしたらこんな感じにすれば良さそう。C-rはインクリメンタルサーチのバックにデフォルトで割り当てられているので、C-cを挟んでしまうのが安全ぽい。 (defun revert-buffer-no-confirm () "Revert buffer without confirmation." (interactive) (revert-buffer t t)) (global-set-key (kbd "C-c C-r") 'revert-buffer-no-confirm) でも、いっそ変更があったら自動的に読み
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く