В программе на C ++ (Linux) мне нужно записать в файл несколько чисел (целые числа, одно число в строке), и размер может быть очень большим (в настоящее время 25 ГБ).
Числа равны 1, -1 или 0, которые используются для записи соединений узла и дуги в большом графике.
все выходные данные записываются в файл (.txt) с помощью std :: ofstream << ... </p>
Архитектура кода печати:
for loop1 (node size)
for loop2 (arc size)
filename << .......
ЕслиРазмер вывода небольшой, он работает хорошо.
Но, когда размер вывода велик, терминал оболочки, на котором выполняется программирование, зависает.
Но процесс все еще выполняется и после долгого времени (часов) он уничтожается ОС.
Нет ошибок, предупреждений, появляются ошибки сегментации.
Каковы возможные причины?
Я пытался найти его в Интернете, но не нашел то, что мне нужно.
Спасибо
Это вывод ulimit -a
core file size (blocks, -c) 0
data seg size (kbytes, -d) unlimited
scheduling priority (-e) 0
file size (blocks, -f) unlimited
pending signals (-i) 399360
max locked memory (kbytes, -l) 32
max memory size (kbytes, -m) unlimited
open files (-n) 1024
pipe size (512 bytes, -p) 8
POSIX message queues (bytes, -q) 819200
real-time priority (-r) 0
stack size (kbytes, -s) 10240
cpu time (seconds, -t) unlimited
max user processes (-u) 399360
virtual memory (kbytes, -v) unlimited
file locks (-x) unlimited
в верхней команде: он использовал <200 МБ.</p>