Почему текстовый файл 200 МБ перегружает 4 ГБ оперативной памяти

1248
a sandwhich

Я написал простую программу на c ++, которая выполняет некоторые вычисления, выводит число в текстовый файл и повторяет его. Несколько миллионов раз. Окончательный текстовый файл был размером около 215 мегабайт, но когда я его открыл, gedit потребовалось более 5 минут, чтобы открыть все это, и я прошел через 4 ГБ оперативной памяти и перешел в linux swap. Почему это происходит, когда исходный размер файла составляет всего 200 МБ?

3
`gedit` использует больше памяти, а не вашу собственную программу, верно? Dre 13 лет назад 3
Правильный. Выполненная программа занимала менее 20 Мб, но медленно увеличивалась примерно на 0,1 Мб каждую минуту. a sandwhich 13 лет назад 0
Беги Гедит из Вальгринда. Это скажет вам, есть ли утечки памяти в вашей версии gedit. В моей системе (Ubuntu 12.04.4) это так. Поэтому я должен время от времени выходить из всех случаев gedit, чтобы освободить всю память. Dohn Joe 10 лет назад 0

1 ответ на вопрос

4
Dre

Поиски в Google, geditпохоже, очень плохо обрабатывают большие файлы

Я хотел бы попробовать открыть файлы в чем-то вроде less

vimпо умолчанию не ведет себя так, как я думал, что это было на больших файлах, если вы хотите использовать, vimвы должны использовать что-то вроде http://www.vim.org/scripts/script.php?script_id=1506

Я только что попытался открыть файл в gvim, и использование оперативной памяти увеличилось только примерно на 230 МБ. Забавно, я недавно открыл программу, написанную на языке ca, размером около 100 мегабайт, но gedit не отреагировал так серьезно. Благодарю. a sandwhich 13 лет назад 0
И чтобы ответить на другую часть вашего вопроса, я действительно не знаю, * почему * gedit использует столько памяти - может быть отчасти из-за плохого программирования или ошибки. Я не вижу причин, почему это должно быть. Если вам нужен способ просмотра огромного файла с наименьшими затратами памяти, я думаю, что «меньше» - единственный путь, по которому я копаю (хотя в этом случае вы не можете «редактировать» его) Dre 13 лет назад 0
+1 за меньшее! Однажды мне пришлось открыть файл 37,1 ГиБ, и только менее работал! AndrejaKo 13 лет назад 0
Если редактирование текста в командной строке дает вам дрожь, рассмотрите [Geany] (https://www.geany.org). Это один редактор, который работал в моем тестировании с> 1 ГиБ файлами. Очень легкий Marc.2377 6 лет назад 0

Похожие вопросы