Как выделить больше памяти для Python? Macos

520
Harry qwerty

Я создаю словарь грубой силы в Python на своем Mac для турнира CTF. Мне было интересно, есть ли способ выделить больше оперативной памяти для этого процесса. Я стремлюсь сделать это быстрее, так что, если есть другой подход, я открыт! Спасибо!!

0
может быть лучше подходит для [разработки программного обеспечения] (https://softwareengineering.stackexchange.com/) или аналогичного сайта Albin 5 лет назад 0
Вам не хватило памяти при запуске процесса? Aulis Ronkainen 5 лет назад 0
Aulis Ronkainen нет, я не сделал. Просто хочу сделать это быстрее. У меня есть ограниченное время. Я создаю словарь, который генерирует каждую букву и цифру. Например, aa ab ... aA aB ... A1 A2 ... Harry qwerty 5 лет назад 0
@Harryqwerty RAM выделяется динамически в зависимости от использования процесса. Если процессу не выделяется много памяти, скорее всего, он просто не использует много памяти, и добавление к нему большего не ускорит его (у него просто будет много неиспользуемой памяти). Gordon Davisson 5 лет назад 4
@GordonDavisson, спасибо! Это именно то, что я собирался. Aulis Ronkainen 5 лет назад 0

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

0
Alex

Если учетная запись пользователя не ограничена, ulimitто из свободной физической ОЗУ потребуется столько памяти, сколько необходимо (даже если вы ограничите ее, у вас ulimitвсе еще будет возможность использовать виртуальную память).

Проблема возникнет, если ваша программа попытается заполнить ОЗУ сгенерированными символами. В какой-то момент вы заполните всю доступную оперативную память, и ваш процесс начнет переключаться на виртуальную память (или, в основном, на файл), которая замедляет работу всего ПК, поскольку ОС тоже требует некоторого дыхания, а переключение туда-сюда снизит производительность всей машины.

Правильный подход для таких задач состоит в том, чтобы выделить небольшой буфер в памяти (скажем, 4-8 Мб) и периодически выгружать буфер (в режиме добавления) в файл. Это было бы самым быстрым решением в вашем случае, не ставя операционную систему на колени.

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