為什麼我在 KVM 中看到的程序比在 OpenVZ 中多?
我有一個在 KVM 上執行的 512mb Centos 6 VPS。現在來自組織的另一個 VPS。我管理的是在 OVZ 上執行。
當我在 KVM 上鍵入 top 時,我會得到所有排序程序的完整列表。但是當我在 OVZ 中這樣做時,我只能得到 20 左右,這是正常的。
那麼如何關閉所有這些(不必要的?)程序並保持清潔?這是頂部現在的螢幕:
這些大多是在裸機上執行 Linux 發行版或在 KVM 或 VirtualBox 等其他技術上作為虛擬機執行時必須執行的正常過程。您看到的差異可以直接歸因於虛擬化技術的差異。
KVM 和 VirtualBox 等技術在硬體級別進行虛擬化,本質上為客戶作業系統提供硬體的虛擬版本。OpenVZ 等技術在程序級別進行虛擬化,因此每個來賓 VM 都有自己的
init
程序,但它們都共享相同的 Linux 核心。這就是為什麼當您使用 OpenVZ 時,所有來賓作業系統都必須與主機作業系統具有相同的分佈。正如您可以證明的,使用 OpenVZ 的優勢是客戶作業系統必須消耗的佔用空間小得多,從而將更多的系統資源留給虛擬機。
使用 OpenVZ 的主要缺點是所有來賓都必須使用相同的核心,並且需要使用包含的 OpenVZ 技術來維護一個特殊的 Linux 核心。
那麼沒有什麼可以刪除的嗎?
你可以做的一件事來減少你的 CentOS 足跡,那就是禁用任何你知道不需要的服務。禁用服務通常是減少系統所需消耗的資源以及從安全形度加強系統的最佳方法。
例子
這是我最近設置的一個系統(CentOS 6.5)用作網路代理。我在執行級別 3 中執行系統,因為它沒有 GUI,基本上只是一個伺服器。
$ sudo chkconfig --list | grep 3:on NetworkManager 0:off 1:off 2:on 3:on 4:on 5:on 6:off acpid 0:off 1:off 2:on 3:on 4:on 5:on 6:off auditd 0:off 1:off 2:on 3:on 4:on 5:on 6:off blk-availability 0:off 1:on 2:on 3:on 4:on 5:on 6:off cpuspeed 0:off 1:on 2:on 3:on 4:on 5:on 6:off crond 0:off 1:off 2:on 3:on 4:on 5:on 6:off haldaemon 0:off 1:off 2:off 3:on 4:on 5:on 6:off irqbalance 0:off 1:off 2:off 3:on 4:on 5:on 6:off livesys 0:off 1:off 2:off 3:on 4:on 5:on 6:off livesys-late 0:off 1:off 2:off 3:on 4:on 5:on 6:off lvm2-monitor 0:off 1:on 2:on 3:on 4:on 5:on 6:off messagebus 0:off 1:off 2:on 3:on 4:on 5:on 6:off netfs 0:off 1:off 2:off 3:on 4:on 5:on 6:off nginx 0:off 1:off 2:on 3:on 4:on 5:on 6:off ntpd 0:off 1:off 2:on 3:on 4:on 5:on 6:off postfix 0:off 1:off 2:on 3:on 4:on 5:on 6:off rsyslog 0:off 1:off 2:on 3:on 4:on 5:on 6:off sshd 0:off 1:off 2:off 3:on 4:on 5:on 6:off sysstat 0:off 1:on 2:on 3:on 4:on 5:on 6:off udev-post 0:off 1:on 2:on 3:on 4:on 5:on 6:off
如果您有任何您知道不需要的服務,那麼我鼓勵您像這樣禁用它們。這是一個兩步的過程。第一步將停止服務。第二步將禁止該服務在重新啟動期間再次啟動。
$ sudo /etc/init.d/nginx stop $ sudo chkconfig nginx off
使用與上述相同的方法禁用其他服務,只需將名稱從 更改
nginx
為serviceX
。