小编Old*_*ity的帖子

为什么我的matlab程序会使用这么多内存?

我正在写一个matlab程序,它读取大约500个文件.每个文件有20,000行,每行有1个数字.该程序尝试使用这些数字构建20,000*500的矩阵.数字存储为Double,因此每个数字为8个字节.所以我希望这需要20,000*500*8字节,大约是1E8,即100MB.然而这个程序耗尽了我的16GB内存.随着程序的运行,我看到内存使用率稳步上升,GB为GB.我在Ubuntu 14.04上使用Matlab R2015b.

发生了什么?非常感谢您的关注.

这是完整的代码

clear all;
% number of rna bits in the file
filesize = 20532

maxFiles = 480;
rnaCounts = NaN(filesize,maxFiles);

myFolder = '~/_STATS/data3/RNASeqV2/UNC__IlluminaHiSeq_RNASeqV2/Level_3';
filePattern = fullfile(myFolder, '*genes.normalized_results');

theFiles = dir(filePattern);

rnaCounts = NaN(filesize,length(theFiles));


for k = 1 : length(theFiles) 
    mrnaFilename = strtrim(theFiles(k).name);
    fprintf(1, 'Now reading mrnaFile %d %s  \n', k, mrnaFilename);

    % read rna file
    fullFileName = fullfile(myFolder, mrnaFilename);
    rnafid = fopen(fullFileName);

    if rnafid < 0 
       fprintf('====ERROR OPENING RNA FILE =====================');
    end
    rnaline = fgets(rnafid);

    lc …
Run Code Online (Sandbox Code Playgroud)

memory matlab

6
推荐指数
1
解决办法
243
查看次数

如何在S3中使用boto3进行版本控制?

我正在使用带有boto3的版本化S3存储桶.如何检索给定密钥的所有版本(甚至所有密钥的所有版本)?我可以做这个:

for os in b.objects.filter(Prefix=pref):
    print("os.key")
Run Code Online (Sandbox Code Playgroud)

但这只给我每个键的最新版本.

非常感谢,

python amazon-s3 boto3

4
推荐指数
3
解决办法
4651
查看次数

标签 统计

amazon-s3 ×1

boto3 ×1

matlab ×1

memory ×1

python ×1