- 締切済み
システム領域で起こるメモリリーク
メモリリークを起こしているのはシステム領域で、ユーザ領域は正常です。 処理の概要はディレクトリパスをDBから取得(Pro*C)し、そのディレクトリ内のファイルを削除(remove関数)するです。 Cの関数でシステム領域のメモリを確保するものはあるのでしょうか?ご存知の方がおられるなら回答お願いします。
- みんなの回答 (1)
- 専門家の回答
みんなの回答
- z64423
- ベストアンサー率53% (26/49)
回答No.1
システム領域(カーネル内)でメモリリークしていることを、 どうやって調べたのでしょうか。 それとも、カーネルではなくシステムライブラリ(DLL等)で メモリリークしているという意味でしょうか。 _ もし本当にメモリリークしているのであれば、 OSやデバイスドライバをアップデートするか、もしくはバグ報告して 修正依頼するのがよいと思います。 アップデートが無く、かつ、いますぐ対策が必要だというのであれば 問題のある(ありそうな)API "以外"を使って、同等の機能を 実装するほうが良いと思います。 カーネル拡張(?)として自分でデバイスドライバを書くことは可能 ですが、あまり賢い方法とは思いません。 ※本当にそれしか対応策がない場合は止むを得ないでしょうが、 いちばん遠回りになりそうな気がします。 ちなみに、通常のAPI(OSが提供するものや C標準ライブラリ等)で、 カーネル内に領域確保できるものはありません。