[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[orca-users:05995] Re: 年末持ち越しのORCAの質問
- To: orca-users@xxxxxxxxxxxxxx
- Subject: [orca-users:05995] Re: 年末持ち越しのORCAの質問
- From: ogochan@xxxxxxxxxx
- Date: Fri, 09 Jan 2004 16:44:57 +0900
生越です。
> 1)ORCA Ver2のメモリ消費量について
> 弊社開発よりメモリリークを起こしているのではないかという
> 問合せが来ています。
> 512Mb実装マシンにおいて、ORCAが1.3Gbの常駐メモリを消費し
> 実に総量の90%を占めています。厳密には、wfcというプログラム
> が約1.3Gb消費しています。
>
> a)これは正しい状態でしょうか?
> b)もし障害であれば本来どれくらいを占めるものでしょうか。
>
> 弊社で行なったメモリ確認方法を記載します。
> a)端末プログラムを起動
> b)gtopと端末画面より入力、リターン
> c)gtopが起動し、ここより、タブより「メモリ使用状態(常駐)」
> を選択。
> d)「メモリ使用状態(常駐)」より、メモリを確認。
> ORCAのモジュールwfcが約1.3Gbのメモリ消費をしています。
あの〜。psで出て来るメモリの使用量というのは、「そのプロセスがいくら
使っているか」という数値に過ぎません。wfcはmulti threadのプログラムなの
で、スレッド間で共有されている領域についても、「そのプロセスで使ってい
るメモリ」として表示されます。ですから、単純合計では算出出来ません。
wfcの各プロセスは、psあたりで見ると「同じメモリ消費のプロセスがやたら
にある」という状態になると思います。
Linuxの場合、スレッド間は当然データ共有されますし、プロセス間であっ
ても、共有出来るデータ(主にはコード領域ですが)は共有しようという管理を
します。ですから、psで見た時の個々のプロセスのメモリ消費の総和が、全体
のメモリ消費とは一致しません。
メモリリークを疑うのなら、処理をさせてからのメモリ消費量の変化を追跡
してみるのがよろしいかと。そのためには、freeあたりでメモリの使用量を見
てみるのが簡単だと思います。まぁそれを見てわかるくらい漏れていたら、し
ばらく使っただけでメモリ不足で死んじゃうはずですけどね。現在こちらのテ
ストでは、1.1.2最終版、1.2.0についてのメモリリークはなさそうです。ない
と断言は難しいですが。
ただ、pandaのメモリ消費で言えば、wfcが一番消費するはずです。それは、
全ての端末のセションデータを全部保持しなければならないからです。昔です
とこれを減らす工夫をしたものですが、今だとこの手のメモリ消費はswapを増
やすだけで解決する方がスマートなので、そのままにしてあります。また消費
されるメモリのほとんどが、私が書いたコードでもなければ、私の書いたコー
ドの中でアロケートしたものでもないので、コードの工夫によって大幅に減ら
せるものでもないです。
# 私自身は昔からのプログラマなんで、メモリはちまちまと使っているのです
# が、他が結構富豪な使い方をしてくれちゃってるんです。
--
ogochan@xxxxxxxxxx -> http://www.nurs.or.jp
Masami Ogoshi -> http://www.nurs.or.jp/~ogochan/
KOWA Bldg3. 2F 5-6-12 Sotokanda Chiyoda-ku Tokyo 101-0021 JAPAN