眾尋多種方法,還是沒有找到c++中能獲得顯示卡使用狀況的簡單方法,所以這裡繞了個彎,把目標轉換成了字串處理.
雖然沒找到獲得顯示卡執行時的狀況的函式,但獲取顯示卡的基本資訊是比較常見的.方法如下:
#include
#include
#include
#include
#include
int count = 0;
cudadeviceprop prop;
cudagetdevicecount(&count);
printf("count:%d\n",count);
借用cuda庫呼叫檢視當前顯示卡數量.此外也有其他基本資訊,如視訊記憶體大小等等,可以直接檢視,不再贅述.
呼叫英偉達的程式查詢.裝好顯示卡驅動後,linux可以直接在命令列
nvidia-smi
c++程式通過呼叫命令列結果獲取:
file *fstream=null;
char buff[10240];
memset(buff,0,sizeof(buff));
// 命令列執行,結果放在fstream內
if(null==(fstream=popen("nvidia-smi","r")))
char *buff_dst;
buff_dst = new
char [20480];
//從fstream流內讀取結果
while(null!=fgets(buff, sizeof(buff), fstream))
pclose(fstream);
接下來轉為處理字串,從結果中獲取使用視訊記憶體較低的顯示卡.經過觀察發現」mib」前面是視訊記憶體.其中單數」mib」表示當前已使用大小,雙數表示顯示卡總視訊記憶體.
int searchstr(char *src,char *str)
if(*p == *q)
p++;
q = str;
index++;
}return
0;}
咳咳,剛剛拿到了每塊顯示卡的已使用視訊記憶體大小,只要比較下選最小的就行了.
結束.
Matlab的CPU佔用率太高
matlab有乙個已知的bug,導致即使你什麼也不做,cpu的佔用率還是很高。原因在於matlab的幫助系統 help browser 採用新的渲染機制,導致了這個問題。輸入以下命令,使用html渲染機制,可以解決問題 com.mathworks.mlwidgets.html.htmlcompone...
分析CPU佔用率過高的問題
cpu佔用率過高的原因 1 中存在死迴圈 2 演算法過於複雜。對於演算法過於複雜而導致的cpu佔用率過高的問題,分析起來並不容易。下面提供一種方法,不管你對 的邏輯以及業務的需求是否了解,只要掌握了這種方法,都可以將問題定位出來。我們都知道,在linux unix下都有效能統計工具,通過top命令,...
Linux 提高CPU佔用率的指令碼
測試需要,提高cpu使用率 bin sh for i in seq 1 cat proc cpuinfo grep physical id wc l do dd if dev zero of dev null done說明 cat proc cpuinfo grep physical id wc l...