Я создаю программу, которая реализует какой-то кеш. Мне нужно использовать столько памяти, сколько возможно, и для этого мне нужно сделать две вещи:Проверка использования памяти в haskell
- Проверьте, сколько памяти по-прежнему доступен в системе (RAM только не SWAP)
- Проверьте, сколько памяти моей приложение уже использует.
Мне нужно независимое от платформы решение (Linux, Windows и т. Д.).
Используя эти две части информации, я уменьшу размер кеша или увеличу его. Как я могу получить эту информацию в Haskell? Существуют ли какие-либо пакеты, которые могут предоставить эту информацию?
«Проверьте, сколько памяти все еще доступно в системе». Этот вопрос не имеет большого смысла. У вас есть файл подкачки, который может вырасти до 2 ТБ. Является ли все это память «доступной»? Если вы займете все это, ваша система остановится. Возможно, вы хотите проверить физическую память. Но что делать, если в браузере открыто 300 вкладок, которые не работают в течение недели? Они готовы быть заменены на каплю шляпы, но сейчас они занимают 99,5% физической памяти, поэтому у вас нет ничего «доступного». –
@ н.м. Я думаю, что очевидно, что для реализации кеша мне нужно количество свободного пространства, которое находится в ОЗУ, а не в SWAP. Построение кеша, который сделает обмен системой, не является хорошей идеей. ; p – remdezx
Почему бы вам не указать размер кеша? Они могут не захотеть, чтобы программа автоматически использовала всю RAM. –