特定のプログラムにいくつかのメモリを割り当てる

特定のプログラムにいくつかのメモリを割り当てる

システムメインメモリの一部をSSHプロセスに割り当てる方法は?

私のサーバーがいくつかの機械学習アプリケーションを実行するたびに、メインメモリが完全にいっぱいになり、誰もSSHを許可しません。私たちは64GBのメインメモリを持つサーバーを持っています。

他のすべてのプロセスに対して他のすべてのユーザーが63 GBを使用できるようにし、残りの1 GBはSSHプロセスの開始にのみ使用したいと思います。これについての手がかりは大きな助けになります。

答え1

私が考えることができるいくつかの方法は次のとおりです。

  1. SSHプロセスに高い優先順位を付けます。

    renice -n -10 -p `pidof sshd`
    

    SSHサーバーは優先順位が高く、CPUを頻繁に予約できるため、ディスクに交換される可能性が低くなります。

  2. システムの使用資源管理機械学習プログラムのリソース使用量を制御するモジュールです。MemoryMaxそのユーザーセッションで開始されたプロセスが指定された値を超えるメモリを使用できないように、ユーザーシャードに適用を使用できます。コマンドは次のとおりです。

    systemctl set-property MemoryMax=5G user-XXXX.slice
    

    あるいは、SSHサーバーでも同じ方法を使用できますMemoryLow

関連情報