亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

如何使用C ++在運行時獲取內存?

如何使用C ++在運行時獲取內存?

largeQ 2019-08-09 17:36:09
如何使用C ++在運行時獲取內存?我需要在我的程序運行時獲取mem使用VIRT和RES并顯示它們。到目前為止我嘗試了什么:getrusage(http://linux.die.net/man/2/getrusage)int who = RUSAGE_SELF; struct rusage usage; int ret; ret=getrusage(who,&usage);cout<<usage.ru_maxrss;但我總是0。
查看完整描述

3 回答

?
莫回無

TA貢獻1865條經驗 獲得超7個贊

舊:

maxrss說明進程的最大可用內存。0表示對該過程沒有限制。您可能想要的是非共享數據使用情況ru_idrss。

新:看起來上面實際上并不起作用,因為內核沒有填充大部分值。什么工作是從proc獲取信息。而不是自己解析它,使用libproc(procps的一部分)更容易,如下所示:

// getrusage.c#include <stdio.h>#include <proc/readproc.h>int main() {
  struct proc_t usage;
  look_up_our_self(&usage);
  printf("usage: %lu\n", usage.vsize);}

用“ gcc -o getrusage getrusage.c -lproc” 編譯


查看完整回答
反對 回復 2019-08-09
  • 3 回答
  • 0 關注
  • 781 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號