2
A
回答
5
窗戶:GlobalMemoryStatusEx。 MSDN頁面有一個詳細的C示例代碼。
Linux系統:檢查 「的/ proc/meminfo中」 文件(discussion)
OSX:看到這個SO線程Determine physical mem size programmatically on OSX
的問題是不明確的,但是。有物理內存,虛擬內存,操作系統有能力將一些未使用的頁面交換到磁盤/其他存儲。
如果你需要編寫某種系統監視器,那麼我的答案會做。
如果您需要確保沒有任何malloc()/ new []調用失敗,那麼只需捕獲適當的異常或處理NULL結果。另一種選擇是構建你自己的分配器,它在開始時獲得一個大內存塊,並在那裏分配較小的塊。
編輯:答案評論
到WinAPI的的MapViewOfFile的電話和的CreateFileMapping提供錯誤代碼來排除致命的情況。由於文件被映射到與進程數據共享的虛擬地址空間,因此您可以檢查是否有足夠數量的可用頁面。也就是說,如果您使用的是32位系統,那麼您將無法一次將整個8Gb文件映射到內存(但您可以映射其較小的部分),但在64位系統上映射的可能性對於任何當前需求都足夠了。
+0
這是將文件映射到內存快速讀取... – mezamorphic
相關問題
- 1. 檢查Android中的可用堆內存?
- 2. C++內存泄漏檢查
- 3. 檢查C#中的可用內存分配情況
- 4. 如何檢查C#中的可用內存?
- 5. 檢測WebView內部的可用內存
- 6. 檢測IPHONE可用內存
- 7. 使用Valgrind檢查內存
- 8. 檢查內存值
- 9. x86 - 檢查內存
- 10. C指針,可用內存
- 11. 編程檢查內存使用情況(可可)
- 12. 如何檢查我的C代碼正在使用的內存?
- 13. MinGW的內存檢查庫
- 14. 如何檢查android的LruCache中可用的內存?
- 15. 檢索可用的連續內存
- 16. 如何使用PyOpenCL檢查GPU內存是否可用
- 17. 空檢查vs可選存在檢查
- 18. SQL內存 - 查看使用的實際內存和可用的內存
- 19. OpenStack - 檢查Container C#.NET的可用性
- 20. C - 檢查可用的公羊?
- 21. 檢查內存是否低
- 22. Xcode內存泄漏檢查
- 23. GDB檢查內存權限
- 24. 檢查內存泄漏
- 25. Nagios檢查內存插件
- 26. C#Windows CE .net 3.5檢查內存使用情況
- 27. 寫作,檢查在C內存泄漏++測試用例
- 28. 什麼調試器可以檢查內存泄漏的C++代碼?
- 29. 檢查C/C++在gdb堆內存統計信息
- 30. 克朗檢測低可用內存
您是指物理內存可用於系統或您的進程的虛擬內存? – Vlad
http://stackoverflow.com/questions/2513505/how-to-get-available-memory-c-g –