QA@IT
この質問・回答は、@ITの旧掲示板からインポートされたものです。

このコマンドを実行するのに十分なクォータがありません。

お世話になります。
いつも参考にさせていただいています。

監視ツールでのエラーの原因がわからずに困っています。

[仕様]
指定したフォルダを常時監視して、ファイルの作成が行われたときに
そのファイルを取込DBに反映させるツールです。

[現象]
フォルダー監視時にExceptionが発生し異常終了する。
Exceptionの発生するタイミングは、何かをするタイミングとかでは
なく、発生するタイミングを掴めないでいます。

エラー内容
↓↓↓↓
Exception: System.IO.IOException
Message: このコマンドを実行するのに十分なクォータがありません。

Source: mscorlib
at System.IO.__Error.WinIOError(Int32 errorCode, String str)
at System.IO.Directory.InternalGetFileDirectoryNames(String fullPath, String userPath, Boolean file)
at System.IO.Directory.InternalGetFiles(String path, String userPath, String searchPattern)
at System.IO.Directory.GetFiles(String path, String searchPattern)

[環境]
Windows 2003 Server
.NET Framework 1.1
C#.NET コンソールアプリ

※テスト環境のWindows 2000 Serverではエラーになりません。

エラーの発生するタイミングも分からず、どこから調査すればよいかも
分かりません。

ネット上で同様の事例が無いかを調べましたが、無かったようです。

どなたか分かる方がいればご教示お願いいたします。

質問者:MILD

回答

Sasser に感染している可能性が...

_________________C# と VB.NET の入門サイト
じゃんぬねっと日誌

投稿者:じゃんぬねっと

編集 履歴 (0)

じゃんぬねっとさん返信ありがとうございます。

調べてみたところ、
Windows2003Serverには影響を受けないとありました。
一応、調べては見ますが・・・。
(自宅に帰ったので感染しているか否かは未確認)
そのほかのウイルスに感染している可能性もありますので調べてみたいと思います。

投稿者:MILD

編集 履歴 (0)

MILDさんの書き込み (2005-11-03 03:35) より:

Windows2003Serverには影響を受けないとありました。

あ、ホントですね。

Sasser だったら、Windows そのものがおかしくなりますからね。
(コントロール パネルが開けない、シャットダウンできない など)
感染していたら、きっと別の質問になると思いますし、早とちりでした。(^-^*)

「クォータの管理を有効にする」にチェックが入ってるとも思えませんし、
単にメモリ フルだったかもしれないですね。
(実際起きている状況で検証してみるしかないですが)

_________________C# と VB.NET の入門サイト
じゃんぬねっと日誌

投稿者:じゃんぬねっと

編集 履歴 (0)

じゃんぬねっとさん、返信ありがとうございます。

はじめは、私も「クォータの管理」が有効になっていると思ったのですが
「クォータの管理を有効にする」にチェックは、入っていません。

ちなみに、ほかのWindows2003Server(テスト環境)で検証をしている最中ですが
今のところエラーが発生していません。

メモリフルであれば、ほかのマシンでもエラーになると思うのですが、
そうでは無いので困ったものです・・・。

エラーが発生するタイミングもEXE起動から3時間後だったり27時間後だったり
と非常に検証しにくいタイミングでエラーが発生しています(T-T)

投稿者:MILD

編集 履歴 (0)

解決しました。

ディレクトリを監視し終わったあとに意識的にリソースの開放を行うようにしました。
ガーベージコレクションによるメモリの破棄のタイミングに問題があったようです。

最近では、リソースの開放という点では、ガーベージコレクションに任せきりでしたので、見落としていました。。。

お騒がせいたしました。

投稿者:MILD

編集 履歴 (0)

やはり、メモリ フルが原因でしたか。

最近では、リソースの開放という点では、ガーベージコレクションに任せきりでしたので、見落としていました。。。

ガベージ コレクションと資源 (リソース) は関係がないですよ。
ガベージ コレクションと関係があるのは、資源ではなくメモリですよね。

_________________C# と VB.NET の入門サイト
じゃんぬねっと日誌

投稿者:じゃんぬねっと

編集 履歴 (0)

じゃんぬねっとさん

メモリと資源がごっちゃになっていました。
勉強不足でした。

ご指摘、ありがとうございました。

投稿者:MILD

編集 履歴 (0)
Watch

この質問への回答やコメントをメールでお知らせします。

この質問に回答する


この質問の答えをご存知ですか? ぜひ質問者に伝えてあげてください (サインインすると、回答フォームが表示されます)。

サインイン