私はあまり多くのメモリ (256Mb) を持たない VPS を持っています。これを SBCL + Hunchentoot を使用した Common Lisp 開発に使用して、いくつかの単純な Web アプリケーションを作成しようとしています。特に複雑なことをしなくても、大量のメモリが使用されているように見えます。ページを提供してしばらくすると、メモリが不足し、すべてのスワップを使用して狂ってしまうか、(スワップがない場合は)単に死んでしまいます。
だから私は助けが必要です:
- すべてのメモリを使用しているものを見つけます(特にライブラリまたは私である場合)
- 大量のスワッピングを避けるために、SBCL が使用できるメモリの量を制限します。
- クラッシュするのではなく、メモリが不足したときに物事をきれいに処理します(Webアプリであるため、続行してクリーンアップを試みます)。
最初の 2 つはかなり簡単だと思いますが、3 番目は可能なのでしょうか? Lispでメモリ不足または制約されたメモリ条件をどのように処理しますか?
(また、64 ビット SBCL は文字通り 32 ビットの 2 倍のメモリを使用しているように見えることに注意してください。これは予想されることですか? 大量のメモリを節約できるのであれば、32 ビット バージョンを実行できます)