矩阵中的错误分配 C++ 加载文件
bad alloc c++ loading file in matrix
我尝试加载一个大文件 (20gb) 并将其加载到矩阵中。但是,当它尝试将文件加载到矩阵中时,出现 bad_alloc 错误。我的代码适用于 Mac 但不适用于 Linux。
这是我的代码:
std::ifstream ifs(filename, std::ifstream::binary);
loadModel(ifs);
void loadModel(std::istream& in) {
input_ = std::make_shared<Matrix>();
input_->load(in); // bad_alloc
}
bad alloc
表示内存分配时出错。可能您的矩阵不适合可用的操作内存。
您可以使用 free
命令检查可用内存
$ free
total used free shared buff/cache available
Mem: 32780268 2055964 29109172 193300 1615132 30106808
Swap: 999420 0 999420
在此输出中,它表明有 29GB 可用。
我尝试加载一个大文件 (20gb) 并将其加载到矩阵中。但是,当它尝试将文件加载到矩阵中时,出现 bad_alloc 错误。我的代码适用于 Mac 但不适用于 Linux。
这是我的代码:
std::ifstream ifs(filename, std::ifstream::binary);
loadModel(ifs);
void loadModel(std::istream& in) {
input_ = std::make_shared<Matrix>();
input_->load(in); // bad_alloc
}
bad alloc
表示内存分配时出错。可能您的矩阵不适合可用的操作内存。
您可以使用 free
命令检查可用内存
$ free
total used free shared buff/cache available
Mem: 32780268 2055964 29109172 193300 1615132 30106808
Swap: 999420 0 999420
在此输出中,它表明有 29GB 可用。