У меня есть VPS с не очень большим объемом памяти (256 МБ), который я пытаюсь использовать для разработки Common Lisp с SBCL + Hunchentoot для написания простых веб-приложений. Большой объем памяти, по-видимому, используется без каких-либо особых сложностей, и через некоторое время обслуживания страниц он исчерпывает память и либо сходит с ума, используя весь обмен, либо (если обмен не существует) просто умирает.
Так что мне нужна помощь:
- Узнайте, что использует всю память (если это библиотеки или я, особенно)
- Ограничить объем памяти, который разрешено использовать SBCL, чтобы избежать большого количества перестановок
- Работайте аккуратно, когда память заканчивается, а не сбой (поскольку это веб-приложение, я хочу, чтобы оно продолжалось и пыталось очистить).
Полагаю, первые два достаточно просты, но возможен ли третий?
Как люди справляются с нехваткой памяти или условиями ограниченной памяти в Лиспе?
(Также отмечу, что 64-битный SBCL, по-видимому, использует буквально вдвое больше памяти, чем 32-битный. Ожидается ли это? Я могу запустить 32-битную версию, если это сэкономит много памяти)