- 締切済み
CRON配下で起動しているプロセスがメモリを開放しない?
solaris2.6(UNIX)+SUN ULTRA-10で作成された環境で cronを使用してLOGファイルをJAR形式に固める処理を行ったところ ログファイルの大きさ、量にもよるのですが大体30分ぐらい 処理にかかっています その間、Freeメモリが消費されたいくのですが、jarのプロセスが 終了したのにもかかわらずメモリが戻りません。ひどい時は通常 1.8Gあるfreeメモリが30kまで減少してしまいます その他クーロンの設定した処理についても調査したのですが やはり実行時間に比例して消費したメモリを開放していないように 感じます。 この現象はOSによるものか、また別のなにかが原因でこのように なっているのか教えてください 宜しくお願い致します
- みんなの回答 (2)
- 専門家の回答
みんなの回答
- mph
- ベストアンサー率54% (39/72)
jobの終了後本当にjarファイルを作成したプロセスは死んでますか? 何らかの理由で生き残っていたりしませんか? a-kumaさんの指摘通り、単にアーカイブとして残したいだけならjarはやめてtar形式のがいいと思います。 javaのプログラムからハンドリングするなどの理由でjar形式にしたいなら、zipとかを利用する手もなくはないとおもいます。 jarファイルはUNIX用のunzipでも解凍できるので、同様にzipでつくったファイルをjavaに食わせることも可能ではないかとおもいます。
- a-kuma
- ベストアンサー率50% (1122/2211)
う~ん、ひどいですねえ。 > jarのプロセスが終了したのにもかかわらずメモリが戻りません だと、手の打ちようが無いですね。プロセス終了後のリソースの開放は OS の 責任範疇です。たとえ、Jar コマンドのお行儀が悪い(?)にしても、何とか してくれないとねえ。 直接の回答にならないかもしれませんが、どうしても jar 形式じゃないと駄目 なんでしょうか? tar+gzip だったら、もっと早く終了するだろうし、そんなにお行儀が悪いとも 思えませんので。