Ответ 1
Попробуйте отключить холостой GC:
./app +RTS -I0 -RTS
Возможно, у Yesod есть поток, который обновляет IORef с текущим временем, которое запускает холостой GC, как в этом билете http://hackage.haskell.org/trac/ghc/ticket/4322
Я создал очень простое приложение, использующее yesod. Он не очень используется, но когда я проверяю его с помощью htop, он потребляет больше времени процессора, чем все другие процессы на сервере, включая процессы, которые работают в гораздо большем масштабе времени. Кроме того, когда я запускаю процесс, я вижу, что время использования процессора увеличивается, даже когда запросы не выполняются (в большинстве случаев запросы не выполняются). Является ли это общим или ожидаемым с помощью приложений Yesod?
Попробуйте отключить холостой GC:
./app +RTS -I0 -RTS
Возможно, у Yesod есть поток, который обновляет IORef с текущим временем, которое запускает холостой GC, как в этом билете http://hackage.haskell.org/trac/ghc/ticket/4322