Уведомления

Группа в Telegram: @pythonsu

#1 Март 20, 2012 05:22:40

lavrton
От:
Зарегистрирован: 2010-11-13
Сообщения: 35
Репутация: +  1  -
Профиль   Адрес электронной почты  

Можно ли использовать файл в качестве оперативной памяти.

При обработке большого количества данных иногда переполняется память. Соответственно система практически виснет. Остановить скрипт сложно.
Как можно решить эту проблему, если уменьшить потребляемое кол-во оперативной памяти программы нельзя?



Офлайн

#2 Март 20, 2012 05:56:01

bw
От:
Зарегистрирован: 2007-09-26
Сообщения: 938
Репутация: +  20  -
Профиль   Адрес электронной почты  

Можно ли использовать файл в качестве оперативной памяти.

1. Поставить ещё одну палку оперативки.
2. Увеличить swap в системе.
3. Возможно поможет штатный mmap, хотя сомневаюсь.
4. А лучше всё же пересмотреть алгоритм и не хранить всё в мозгах.

..bw



Офлайн

#3 Март 20, 2012 22:33:38

python-er
От:
Зарегистрирован: 2012-02-19
Сообщения: 13
Репутация: +  0  -
Профиль   Отправить e-mail  

Можно ли использовать файл в качестве оперативной памяти.

lavrton
Можно ли использовать файл в качестве оперативной памяти
Можно. Именно так сортируют наборы данных, которые не умещаются в память - “сортировка-слияние”. При этом каждый файл записывается и читается только один раз.



Офлайн

#4 Март 21, 2012 02:09:11

lavrton
От:
Зарегистрирован: 2010-11-13
Сообщения: 35
Репутация: +  1  -
Профиль   Адрес электронной почты  

Можно ли использовать файл в качестве оперативной памяти.

python-er
Можно. Именно так сортируют наборы данных, которые не умещаются в память - “сортировка-слияние”. При этом каждый файл записывается и читается только один раз.
А подробней где можно узнать?



Офлайн

#5 Март 21, 2012 16:19:21

slav0nic
Команда
От: dp.ua
Зарегистрирован: 2006-05-07
Сообщения: 2260
Репутация: +  41  -
Профиль   Отправить e-mail  

Можно ли использовать файл в качестве оперативной памяти.

Офлайн

#6 Март 21, 2012 20:42:48

python-er
От:
Зарегистрирован: 2012-02-19
Сообщения: 13
Репутация: +  0  -
Профиль   Отправить e-mail  

Можно ли использовать файл в качестве оперативной памяти.

lavrton
python-er
Можно. Именно так сортируют наборы данных, которые не умещаются в память - “сортировка-слияние”. При этом каждый файл записывается и читается только один раз.
А подробней где можно узнать?
Вам сортировать?

Сортировка:
1. взять из последовательности очередную порцию данных
2. отсортировать
3. записать в отдельный файл
4. пока не конец - перейти в 1.
получаем несколько отсортированных файлов.

Объединение:
1. открыть все отсортированные файлы
2. прочитать из каждого по очередному элементу
3. сравнить и записать наименьший в выходной файл
4. прочитать следующий элемент на место записанного
5. перейти к 3

Где-то так.



Офлайн

#7 Март 28, 2012 17:26:35

mindinpanic
От:
Зарегистрирован: 2011-07-16
Сообщения: 8
Репутация: +  -1  -
Профиль   Отправить e-mail  

Можно ли использовать файл в качестве оперативной памяти.

Возможно поможет рефакторинг кода с использованием генераторов.



Офлайн

#8 Апрель 1, 2012 02:34:53

user_id
Зарегистрирован: 2012-04-01
Сообщения: 3
Репутация: +  0  -
Профиль   Отправить e-mail  

Можно ли использовать файл в качестве оперативной памяти.

может я не сильно понял вопроса. Но если ОС Линукс то

sudo dd if=/dev/zero of=/swapfile bs=1024 count=1048576
sudo mkswap /swapfile
sudo swapon /swapfile
sudo cp /etc/fstab /etc/fstab.orig

Но работать будет медленней чем с оперативки.

Офлайн

Board footer

Модераторировать

Powered by DjangoBB

Lo-Fi Version