有沒有辦法找出我的系統使用C的總RAM量? 我在Ubuntu 12.04上。我需要用C編寫一個應用程序,它應該在運行時理想地查詢RAM的總量。如何查找我的系統正在使用的RAM的總量C
5
A
回答
5
在Linux上,可從/proc/meminfo
獲取。例如:
MemTotal: 16469432 kB MemFree: 792136 kB MemAvailable: 15201832 kB Buffers: 5806244 kB Cached: 8637760 kB ...
只需將其作爲普通文件打開並解析內容即可。
3
最簡潔的方法是使用procfs(請參閱Dietrich的回答)。
然而,關於硬件的詳細信息(RAM,CPU數量,速度,型號,雜項等設備),您可以從dmesg的提取噸的信息:
dmesg | grep Memory
您可以使用C STDLIB POPEN ()從dmesg讀取,如果你有privs,並解析各種信息。我已經將它用於像Spong這樣的監控系統,以便儘可能多地提取關於節點的信息。您甚至可以通過現場監控它來獲取您發出的硬件/設備命令(dmesg | tail -f)的反饋。
記住dmesg並不總是可用的,這取決於privs。
+0
感謝您的精彩提示。 – abc 2014-10-22 05:08:38
1
@abc本文檔可幫助您。 http://valgrind.org/docs/manual/ms-manual.html
1
獲得物理內存的唯一方法是使用BIOS調用,如果您不希望操作系統爲您執行此操作。 所有您需要的信息http://wiki.osdev.org/index.php?title=How_Do_I_Determine_The_Amount_Of_RAM&redirect=no
0
可以使用頂部命令將顯示CPU使用率內存使用情況等
相關問題
- 1. 如何確定C++中Linux系統RAM的數量?
- 2. 僅在RAM中使用mlock的系統
- 3. 通過Java查找系統RAM
- 4. 我將如何去檢查我正在使用的文件系統C
- 5. 在我的系統上查找NDK
- 6. 如何查找我的程序的系統調用位置?
- 7. 如何從C++的Windows中檢索總系統CPU使用率?
- 8. 如何檢查我的SVN存儲庫正在使用的文件系統?
- 9. 如何查找系統卷?
- 10. 使用iPhone中的本地測量系統查找距離
- 11. 如何查找正在使用的臨時端口的數量?
- 12. 查找正在生成CAL中斷的進程(系統調用)
- 13. 如何找出用戶正在運行的操作系統?
- 14. 如何查找正在使用的isbns
- 15. 檢查正在運行的程序中可用RAM的數量
- 16. 如何使用Qtdbus公開在系統總線上的方法
- 17. 如何讓我的電腦使用大量的RAM?
- 18. 查找交換空間,系統運行信息,cpu信息和RAM使用
- 19. 在C++中查找系統的CPU利用率
- 20. 使用UNIX,如何顯示我係統上的進程數量?
- 21. 如何使用郵件系統在C#
- 22. 如何找到物理核心的數量在Windows系統的C++代碼
- 23. 測量系統++()的調用用C
- 24. 如何爲每個Windows操作系統和我的應用程序拆分RAM?
- 25. 獲取RAM系統大小
- 26. 如何在系統中使用變量()c
- 27. 如何在我的系統上查找可執行文件的所有版本?
- 28. 如何查找通過WMI調用安裝的視頻Ram的數量?
- 29. 如何在.NET Core中獲得操作系統,計算機處理器信息,總RAM,RAM等等?
- 30. 如何查找我使用的SVN流量量?
感謝。我不確定在C庫中是否有一些功能可以爲我做到這一點。 – abc 2014-10-19 07:04:03