• ベストアンサー

シェル(perl)が使用するメモリ最大サイズを知りたい

はじめして。coorparooと申します。 作成したシェルでOut Of Memoryが出ておりメモリーチューニングの指令を受けました。 #Out Of Memoryが出るときはバッチが動いてメモリを大量消費している時で、どちらかと言えばシェルは被害者なのですが。。。 そこで、改良してメモリ使用率がどのくらい変化したのかを知りたいと思っています。 探してみたところ、Devel::sizeで変数のサイズ(バイト)が解ることは解ったのですが、シェル全体のメモリ最大値を知る方法が解りません。 だれかご存じないでしょうか?

質問者が選んだベストアンサー

  • ベストアンサー
  • a-saitoh
  • ベストアンサー率30% (524/1722)
回答No.1

OSは何でしょうか? linuxとSolarisでは違いますので。。。。 timeコマンドを使うと、メモリの最大使用量などが分かります。 time -l perlスクリプト 引数・・・・ とすればいいとおもいます。 以下は、dateコマンドについてしらべたものです。 # /usr/bin/time -l date Wed Jun 21 15:55:07 JST 2006 0.00 real 0.00 user 0.00 sys 0 maximum resident set size 0 average shared memory size 0 average unshared data size 0 average unshared stack size 21 page reclaims 0 page faults 0 swaps 0 block input operations 0 block output operations 0 messages sent 0 messages received 0 signals received 0 voluntary context switches 3 involuntary context switches オンラインマニュアルで確認してください。僕が使っているOSでは、メモリ使用量はキロバイト単位の数値が出ます。 Out of memoryになったからといってメモリ不足とは限りません。 処理を行っている計算機のメモリ搭載量に余裕があるのなら、limitコマンドでメモリ使用量上限を変えることもできます。

coorparoo
質問者

お礼

a-saitohさん、ありがとうございました。 OSはunix(AIX)になります。 AIXだと、timex -p -mになりました。 調べてみると、 改良前:1000KB 改良後:800KB 200KB減って、解決できるかどうか解りませんが、やるだけやってみたいと思います。 ありがとうございました。

関連するQ&A