クォータなしでユーザーディスクの使用量を制限する方法は?

クォータなしでユーザーディスクの使用量を制限する方法は?

私は現在、会社のリソースにアクセスできる学生プロジェクト(機械学習)を行っています。彼らはWindowsサーバーにデータを保存しますが、私たちはLinuxシステムを使用してデータにアクセスします。クォータを設定できないようです。その理由は、データがWindowsサーバーに保存されていて、私のコンサルタントがデータが保存されているコンピュータにアクセスできないためです。問題は、学生が誤って大量のディスク容量を使用することがあり、バックアップスペースが大幅に浪費されることがあることです。たとえば、私はモデルを3日間トレーニングし、定期的にモデルのスナップショットを作成しました。その結果、100GBのディスク使用量が発生します。これは問題です。

このようなことを防ぐことは可能ですか?

私は30分ごとにログインしているすべてのユーザーに対して実行されるCRONタスクを検討しています。 CRONタスクは、ユーザーのホームフォルダ(たとえば)のディスク使用量を確認し、du -s .メモリが多すぎると、そのユーザーのすべてのタスクを終了します。私のコンサルタントは、これはコンピューティング時間(CPU時間)がかなりかかると懸念しています。

私はこれを試しましたが、最初の実行は後続のdu -s .実行よりはるかに長くかかりました。なぜこれが起こるのですか?私が提案する解決策は効果がありますか?それとも私が説明する文脈でより良い解決策がありますか? (私たちが使用しているコンピュータへのルートアクセス権がありますが、ホームフォルダを持つコンピュータにはルートアクセス権がありません。)

ベストアンサー1

あなたの環境に合うべきですdu -s。考慮すべきいくつかの考慮事項は次のとおりです。

  • ユーザーが他のユーザーに書き込み権限を付与すると、所有du者に関係なくすべてのファイルが考慮されるため、報告された数字が歪む可能性があります(許可されたユーザーには罰金が課されるため、このアプローチを防ぐため、これは大きな問題ではありません) 。
  • 考慮すべき実際のコストは、CPU時間ではなくディスクI / Oです。可能システム全体のパフォーマンスに大きな影響を与えます。可能また、マイナーで多くの要因によって異なります。
  • 多くの大きなディレクトリを閲覧するには30分という長い時間がかかることがあります。可能足りない

ファイルシステムキャッシュにはすでにメモリにいくつかのデータが含まれているため、後続のdu実行は最初の実行よりもはるかに少ない時間がかかる可能性があります(いくつかの/小さいディレクトリの場合)。ただし、大きなディレクトリを処理するとキャッシュの変動が発生し、最初の実行よりもインライン時間が表示されるため、短い時間に基づいて計算しないでください。

おすすめ記事