Путаница по поводу пространства подкачки в HardenedBSD

286
mcandre

Я хочу установить HLint с cabal в HardenedBSD ( cabal install HLint), но он запускает какую-то ошибку памяти:

cabal install HLint ... ghc: mmap 131072 bytes at 0x0: Operation not permitted 

Я попытался добавить пространство подкачки, но это не слишком хорошо работает.

sudo dd if=/dev/zero of=/usr/cabal-swap bs=1m count=4k && sudo chmod 0600 /usr/cabal-swap && sudo sh -c "echo 'md99 none swap sw,file=/usr/cabal-swap,late 0 0' >>/etc/fstab" && sudo swapon -aL 

Как ни странно, swapon -aLдеталь выходит из состояния 1, даже если она печатает swapon: adding /dev/md99 as swap device. Кроме того, swapctl (на мой взгляд, для начинающих) указывает на то, что этот раздел подкачки был достаточно активирован:

$ swapctl -l Device: 1024-blocks Used: /dev/ada0s1b 655324 0 /dev/md99 4194304 0 

Я не совсем уверен, правильно ли я настроил своп. Когда я запускаю topмониторинг cabal / ghc во время cabal install HLint, top показывает, что доступно 4 ГБ пространства подкачки, но, похоже, что подкачка никогда не используется. В конце концов Cabal умирает с mmapошибками во время компиляции ghc библиотек зависимостей haskell-src-exts, uniplate или aeson Haskell, при этом HardenedBSD никогда не использовал своп.

Я неправильно настраиваю своп? Есть ли способ заставить HardenedBSD поменяться более активно?

Это начинает выглядеть как ошибка в GHC, в частности порт HardenedBSD. Перенос обсуждения на https://ghc.haskell.org/trac/ghc/ticket/14988 .

0
В HardenedBSD включено много настроек безопасности. Там может быть твик, который запрещает использование `mmap`. arrowd 6 лет назад 0

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

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