C++/Python/MATLAB检查内存使用情况

有时为了对电脑、服务器做运行情况监控,需要获取内存、cpu的使用情况。当处理CT图像数据的时候,由于需要内存较大,因此容易出现内存不足的问题,对此,在处理数据之前预先检查剩余内存是否充足很有必要。以下分别是三种编程语言下的内存检查代码。

C++检查可用内存:

#include <windows.h>
#include <iostream>
#include <iomanip>

using namespace std;

int main() {
   
    MEMORYSTATUSEX memInfo;
    memInfo.dwLength = sizeof(MEMORYSTATUSEX);
    GlobalMemoryStatusEx(&memInfo);

    cout << "Total memory: " << memInfo.ullTotalPhys / 1024 / 1024 << " MB" << endl;
    cout << "Available memory: " << memInfo.ullAvailPhys / 1024 / 1024 << " MB" << endl;
    cout << "Memory load: " << memInfo.dwMemoryLoad << "%" << endl;

    return 0;
}

python检查可用内存:

# 先下载psutil库:pip install psutil
# 下载地址  https://pypi.org/project/psutil/5.6.2/
import psutil

def getMemCpu():
    data = psutil.virtual_memory()
    total = data.total  # 总内存,单位为byte
    print('total',total)
    free = data.available  # 可用内存
    print('free',free)
 
    memory = "Memory usage:%d" % (int(round(data.percent))) + "%" + " "  # 内存使用情况
    print('memory',memory)
    cpu = "CPU:%0.2f" % psutil.cpu_percent(interval=1) + "%"  # CPU占用情况
    print('cpu',cpu)
 
 
 
if __name__ == "__main__":
    getMemCpu()

MATLAB检查可用内存:

%% 检查内存是否足够
system_dependent memstats
[userview, systemview] = memory;
available_size = systemview.PhysicalMemory.Available;  %bytes
if strcmpi(params.precision, 'single')
    need_size = counts*w*h*4;
end
if strcmpi(params.precision, 'double')
    need_size = counts*w*h*8;
end
need_size = need_size*2/1024/1024 + 1600;  %1600M为MATLAB活动时占用的内存
available_size = available_size/1024/1024;
final_size = (available_size - need_size);
fprintf('运行程序预计需要的内存大小:%f M\n', need_size);
fprintf('运行程序后预计剩余的内存大小:%f M\n', final_size);
if final_size < 1024
    warning('剩余内存较小')
end
if need_size/available_size > 0.95
    error('内存空间不足');
end

参考文献:
[1] python内存检查

相关推荐

  1. C++/Python/MATLAB检查内存使用情况

    2024-02-19 17:00:02       35 阅读
  2. SqlServer内存使用情况

    2024-02-19 17:00:02       39 阅读
  3. ubuntu查看内存使用情况

    2024-02-19 17:00:02       36 阅读
  4. C++获取内存使用情况

    2024-02-19 17:00:02       34 阅读
  5. Ubuntu查看内存使用情况

    2024-02-19 17:00:02       30 阅读
  6. 如何使用ubuntu查看内存使用情况

    2024-02-19 17:00:02       35 阅读
  7. 如何在Ubuntu中查看内存使用情况

    2024-02-19 17:00:02       31 阅读

最近更新

  1. TCP协议是安全的吗?

    2024-02-19 17:00:02       16 阅读
  2. 阿里云服务器执行yum,一直下载docker-ce-stable失败

    2024-02-19 17:00:02       16 阅读
  3. 【Python教程】压缩PDF文件大小

    2024-02-19 17:00:02       15 阅读
  4. 通过文章id递归查询所有评论(xml)

    2024-02-19 17:00:02       18 阅读

热门阅读

  1. Python爬虫开发:Scrapy框架与Requests库

    2024-02-19 17:00:02       30 阅读
  2. 力扣_字符串10—重复的DNA序列

    2024-02-19 17:00:02       25 阅读
  3. 《数学建模》专栏导读

    2024-02-19 17:00:02       36 阅读
  4. Pytorch-SGD算法解析

    2024-02-19 17:00:02       35 阅读
  5. Python如何用双重循环输出金字塔?

    2024-02-19 17:00:02       30 阅读