デスクトップ環境にログインしなくてもRAMを消費しますか?

デスクトップ環境にログインしなくてもRAMを消費しますか?

Linux(Ubuntu、Debianなど)では、さまざまなデスクトップ環境で消費されるリソース(RAM)の量が異なります。 GnomeとKDEは、XFCE / LXDE / LXQTなどの他のオペレーティングシステムよりも多くのRAMを消費する傾向があります。

https://unihost.com/help/how-to-choose-linux-desktop-environment-ram-usage/

デスクトップ環境のGUIを介してログインせずにSSHを使用してOSと対話する場合、これらのデスクトップ環境のRAM使用量がまだ影響を与えるかどうか疑問に思います。

たとえば、Debian GnomeとDebian XFCEがあります。両方のシステムを開いた後、SSHのみを使用して対話します。この場合、同じ量のRAMを使用しますか?

答え1

GUIセッションが使用されていないがシステムがまだログイン用のGUIを表示している場合は、GUIのログイン部分のみがメモリを使用します。この問題を管理するプロセスはほとんど待機状態なので、ほとんど何もしません。スワップが有効になっている場合(使用可能な唯一のディスクがSSDである場合は摩耗から保護する必要があることを考慮する必要があります。とにかくこの回答はこれを決定することとは関係ありません)、より多くのメモリが利用可能になると、プロセスの一部が何もありません。それ以外の場合は、交換が必要になり、GUIのメモリスペースがさらに制限されます。

この質問に答えるには:SSHを使用しても、現在使用されているGUIの部分には影響しません。比較は、現在ロードされ実行中の部分についてです。一般的なDebianインストールでは、GUIログインプロンプトでGDM(Gnome Display Manager)用のGnomeを選択し、LightDM用のXFCE(ディスプレイマネージャ)(GUIログインプロンプト用)。私はLightDM(したがってXFCE)が少ないメモリを使うと言いたいと思います。どちらの場合も、スワッピングがあると、ほとんどのコンテンツ(全体ではなく表示時間などのアクティブ部分ではありません)がスワッピングされますが、スワッピングがない場合はすべてが物理RAMに保持されます。

スワップなしでDebian 12 amd64 VMでテストされ、SSH経由でアクセスされ、SSHサービスを提供し、GUIログインプロンプトなどを提供する以外は何もしませんでした。使用される複数の再起動free -m後に仮想マシンで測定されたメモリ:echo 3 > /proc/sys/vm/drop_caches

GDM: ~ 494-506MB
LightDM: ~ 324-331MB

どちらもない(コンソールのみ):〜196-214MB

変更がある可能性があると確信していますが、全体的なLightDM(したがってXFCEインストールの選択)はGDMよりも少ないメモリを使用しているように見えるため、Gnomeインストールを選択します。

両方をインストールしたら、以下の説明に従って切り替えるか無効にしてから再起動します。


これで、GDMを使用してXFCEを起動したり、LightDMを使用してGnomeを起動したりすることができます。 Debian に両方がインストールされている場合、それらを切り替えるには (おそらくすぐにはありませんが、次回の起動時にのみ)、次の操作を実行できます。

dpkg-reconfigure gdm3
dpkg-reconfigure lightdm

メッセージが表示されます(このタスクまたは以下のタスクのいずれかを実行した後は、再起動またはそれに対応するタスクが必要になる場合があります)。


これらのメモリを使用しない最善の方法は、GUIの起動を完全に無効にすることです。これはほとんどのサーバー専用システムで実行される操作です。グラフィックカードがあり、まだコンソール出力に表示できるとしても、一般にGUIを表示しないように設定することは、リソース、特にメモリを節約するためのものです。それがあなたの意図であれば、何も削除せずに今やることができ、後で心を変えることができます。 Debian の GDM について この Debian wiki では、次のように説明します。GDM - GDMデーモン制御:

systemctl set-default multi-user.target

これはLightDMにも当てはまります。

人々は次の方法でそれを再考して再活性化できます。

systemctl set-default graphical.target

または、起動時に再度有効にせずにそれらのいずれかを起動してください。

systemctl start gdm
systemctl start lightdm

関連情報