子プロセスのピークメモリ使用量を監視しようとしました。時間-vはオプションですが、solarisでは機能しません。シェルスクリプトからrusage構造の詳細を取得する方法はありますか?シェルスクリプトでrusage構造体を取得するためにwait3に代わるものはありますか?
を使用でき答えて
/usr/bin/timex
the /usr/bin/timex
man pageから:
与えられたコマンドが実行されます。経過時間、ユーザー時間、およびシステム 実行に費やされた時間が秒単位で報告されます。オプションで、コマンド のアカウンティングデータおよびそのすべての子をリストするか、または を要約し、実行間隔 の合計システムアクティビティを報告できます。
...
-pコマンドとそのすべての子プロセスの課金レコードを一覧表示します。 このオプションは、プロセス会計ソフトウェアがインストールされている場合にのみ機能します。サブオプションf、h、k、m、r、およびtは、データ項目 を変更します。オプションは次の通りです:
...
プロセス・アカウンティングが有効に得るためにacctadm
のmanページでスタート。
Solarisでは、getrusage()
およびwait3()
はメモリ使用統計情報を返しません。 ソースコードをhttp://src.illumos.org/source/xref/illumos-gate/usr/src/uts/common/syscall/rusagesys.cに、wait3()
ソースコードをhttp://src.illumos.org/source/xref/illumos-gate/usr/src/lib/libbc/libc/sys/common/wait.c#158にしてください(これは実際にはOracleがサポートを停止したOpenSolarisソースであり、現在のSolaris実装ではない可能性があります)。 RSSデータはまた、Solaris getrusage()
man pageから、まだ実際にはゼロ)
: rusage
構造の
ru_maxrss
、ru_ixrss
、ru_idrss
、およびru_isrss
メンバーは、この実装では0に設定されています。
dtrace
のように、データを取得する方法は他にもあります。
編集:
dtrace
が、残念ながら、多くの助けであることを見ていません。 Solaris上で
dtrace: failed to compile script memuse.d: line 8: translator does not define conversion for member: pr_pctmem
dtrace
プロセスのメモリ使用量へのアクセスを提供するために、表示されません。dtrace -s memuse.d -c bash
#!/usr/sbin/dtrace -s
#pragma D option quiet
profile:::profile-1001hz
/pid == $target/
{
@pct[ pid ] = max(curpsinfo->pr_pctmem);
}
dtrace:::END
{
printa("pct: %@u %a\n", @pct);
}
でこれdtrace
スクリプトを実行しようとすると、次のエラーメッセージが表示されました。実際、Solaris 11。procfs
データのための2 /usr/lib/dtrace/procfs.d
翻訳者はその中にこのコメントがありますIllumos.orgのソースコードをブラウズする
/*
* Translate from the kernel's proc_t structure to a proc(4) psinfo_t struct.
* We do not provide support for pr_size, pr_rssize, pr_pctcpu, and pr_pctmem.
* We also do not fill in pr_lwp (the lwpsinfo_t for the representative LWP)
* because we do not have the ability to select and stop any representative.
* Also, for the moment, pr_wstat, pr_time, and pr_ctime are not supported,
* but these could be supported by DTrace in the future using subroutines.
* Note that any member added to this translator should also be added to the
* kthread_t-to-psinfo_t translator, below.
*/
を、ps_rssize
を探し、procfs
データが必要なときにのみ計算され、プロセスの実行時に継続的に更新されていないことを示します。 (http://src.illumos.org/source/search?q=pr_rssize&defs=&refs=&path=&hist=&project=illumos-gate参照)
- 1. クラス内にある構造体を取得する方法は?
- 2. 構造体内に `initializer_list` ctorを持つ構造体はありますか?
- 3. Cythonで構造体を取得する
- 4. ある構造体を別の構造体にコピーする
- 5. なぜ構造体hostentのh_addr_listがstruct in_addr **の代わりにchar **ですか?
- 6. 階層あたりの表の構造体のDAOの取得
- 7. Erlang構造体の名前で値を取得するには?
- 8. Excelレポートを生成するためにJasperRunManager.runReportToPdfの代わりに使用するものはありますか?
- 9. ファイルヘッダをクラスまたは構造体にする必要がありますか?
- 10. Swift:ViewModelを構造体またはクラスにする必要がありますか?
- 11. NSURLから構造体FILEを取得するには?
- 12. 構造体またはポインタの構造体ですか?
- 13. 構造体のアドレスを他の構造体のポインタに代入する
- 14. Rustで構造体フィールド名を取得するには?
- 15. memcpy()の代りにCの構造体をコピーする
- 16. 構造体のchar []をポインタではなくファイルの値に代入する方法はありますか?
- 17. 構造体ページから構造体vm_area_structを取得する方法
- 18. タップの宝石に代わるものはありますか?
- 19. 複数のIDに代わるものはありますか?
- 20. 名前のある構造体を別の構造体に匿名構造体として埋め込む
- 21. instanceofに代わるものはありますか?
- 22. pexpectに代わるものはありますか?
- 23. XCPlaygroundに代わるものはありますか?
- 24. FileDataModelに代わるものはありますか?
- 25. SQL Server Tuning Advisorに代わるものはありますか?
- 26. fetchall(PDO)に代わるものはありますか?
- 27. DBContextジェネレータに代わるものはありますか?
- 28. 「1スレッド/ X」アーキテクチャに代わるものはありますか?
- 29. Windows certstoreからEVP_KEY構造体に秘密鍵を取得する方法はありますか?
- 30. mysqlにTABLE_LIST構造体はどこにありますか?