問題タブ [process-accounting]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
linux - BSDプロセスアカウンティングファイルでスクリプト名を取得するにはどうすればよいですか?
Linux(/ var / account / pacct)でBSDスタイルのプロセスアカウンティングファイルを処理するプログラムを書こうとしています。
./script_name
またはのいずれかを使用してスクリプトを開始するとbash script_name
、プロセスアカウンティングレコードは実際にはコマンドから書き出されbash
ます。おそらくそれが実行を行っている実際のプログラムだからです。
私たちが見たいのはコマンドscript_name
です。スクリプト名をbash実行可能ファイルではなくアカウンティングファイルに書き込む方法を知っている人はいますか?
c - この時間関連のプロセス アカウンティング統計の収集は適切ですか?
sys/acct.h (V3 ではなく V1) に基づいて、acct ファイルを行ごとに解析するパーサーに基づいて、ユーザーの使用統計を収集する必要があります。パーサーは N 秒ごとに実行され、ファイル全体を解析します。最後の実行以降 (N 秒前) に蓄積されたユーザー統計を収集する必要があります。sys/acct.h によって提供される情報に基づいて、それを行うための最も適切な方法が何であるかはわかりません。
多分このようなもの:
また、comp_tは「3ビット、基数8の指数、13ビットの仮数からなる浮動小数点値」と言われていますが、u_int16_tは単なるunsigned short intだと思います。提供された式で長いものに変換する必要がありますか?
linux - Linux プロセスとその子プロセスによって読み書きされた合計バイト数
Linux プロセスによって読み書きされた合計バイト数を出力したいと考えています。たとえば、私は実行します
そして、その子を含む GCC が Linux カーネルから要求した合計バイト数と、それらがカーネルに送信したバイト数を確認したいと考えています。
この問題に対する不完全な解決策は次のとおりです。
フィールド
rchar
とwchar
in/proc/PID/io
は、これまでに読み書きされたバイト数を示します。子プロセスは考慮されません。プロセスが終了するとすぐに失われます。などのツールを
strace
使用して、プロセスとその子プロセスの syscall (read
、write
syscalls など) を出力できますが、読み取り/書き込みのバイト数を集計することはできません。
Linuxプロセスとその子プロセスによって読み書きされた合計バイト数を出力するには?
sql - 会計取引表の設計
次の会計テーブルがあります。
http://sqlfiddle.com/#!3/b93f3/2
私のトランザクション詳細テーブルには、次のフィールドがあります。
テーブルは大丈夫だと思いますが、私の質問は会計取引についてです...
例: 電気工事請負業者が私に 1,000 ドルのエレベーター サービス料金を請求した場合、その情報を次のように記録します。
次に、その請求書を支払う必要があるため、次のトランザクションに入ります。
ここでは、"Acc Payable" Balanceが0になっていることがわかりますが、 Repairs Incomeはどうでしょうか? クエリを実行すると、修理収入はまだ 1,300 と表示されます。別のフィールドまたは何かを追加する必要があると思います。そのため、支払いトランザクションによって修理収入も失われることがわかります。
どんな手掛かり?これを説明することで私が明確だったことを願っています..
logging - FreeBSD でのプロセス作成の監視
FreeBSD システムで実行されるすべてのコマンドを監視しようとしています。BSD でプロセス アカウンティング機能を使用する lastcomm については既に確認しました。残念ながら、実行される各コマンドの最初の 10 文字しか保存されません。CLI パラメータを含むコマンド全体が理想的です。
また、入りたくない理由により、私はここで FreeBSD 4.x システムに取り組んでいるので、"auditd" やそのような機能にアクセスできるとは思いません。
/proc には必要な情報がすべて含まれていますが、新しいノードの作成と削除について procfs を監視する適切な方法を見つけることができません。
編集:入力していただきありがとうございます。残念ながら、これらは FreeBSD 4.x システムであると述べたので、dtrace はオプションではありません。次に、/proc の変更時刻を確認しました。kqueue は、どのファイルが変更されたかを具体的に示していないだけです。
linux - taskstats 統計が加算されない
taskstats 構造体の統計がどのように加算されているかを把握しようとしています。私は、IO と終了を実行してしばらく実行する単純な C プログラムを作成しました。taskstats ネットリンク マルチキャスト グループから取得した taskstats 構造体を使用して、このプログラムの統計情報を監視します。cpu_delay_total
、blkio_delay_total
、swapin_delay_total
、 、freepages_delay_total
の値を合計するac_utime
と、経過時間 ( )ac_stime
の値よりも約 0.5 秒大きい値が得られます。ac_etime
3.5 秒の実行の統計は次のとおりです。
ac_etime: 3536036
ac_utime: 172000
ac_stime: 3032000
cpu_delay_total: 792528445
blkio_delay_total: 46320128
swapin_delay_total: 0
freepages_delay_total: 0
遅延、utime、および stime の値を合計すると4042848.573
(遅延を 1000 で割ってマイクロ秒に変換します)、whileetime
は3536036
!
興味深いことに、壁時計の時間は実質的に utime+stime:cpu_run_real_total: 3204000129
に等しい値を示します。ac_utime + ac_stime: 3204000
cpu_run_real_total
taskstats.h のコメントには、これが壁時計の時間であることが明確に示されていますが、フィールドは CPU 時間を示していますか? これらのフィールドの合計が経過時間よりも大きい理由は何でしょうか?
私のカーネルのバージョンは 3.2.0-38 です。
linux - Linux プロセス アカウンティング (accton) が現在実行されているかどうかを確認するにはどうすればよいですか?
プロセス アカウンティング (accton) が実行されているかどうかを判断する方法はありますか? プロセス テーブル (「ps」) にプロセスがリストされておらず、「/etc」の下に「status」で呼び出してアカウンティングのステータスを取得できるものは何も表示されません。
「Linux From Scratch」に基づいてカスタム ビルドを実行しているため、CentOS に「psacct」があることは理解していますが、それは利用できません。
ログ ファイルを見て、それが大きくなっているかどうかを確認することはできましたが、理想的ではありません。もっと良い方法があることを願っています。
情報をいただければ幸いです。
unix - Unix の acct 構造を持つプロセス アカウンティング
Advanced Unix のプロセス アカウンティングの概念について読んだことがあります。これらのアカウンティング レコードは通常、コマンド名、使用された CPU 時間、ユーザー ID とグループ ID、プロセスの開始時刻などを含む少量のバイナリ データであることを理解しています。acct
しかし、構造にアクセスする方法がわかりません。
構造にアクセスするにはどうすればよいacct
ですか? また、プロセス アカウンティングを有効または無効にするにはどうすればよいですか?