Cpu-Usage
Cloud Shell 空閒 cpu 使用率似乎相對較高 (3-6%) - 這種使用量來自哪裡?
top - 12:10:09 up 2:18, 6 users, load average: 0.03, 0.03, 0.00 Tasks: 35 total, 1 running, 34 sleeping, 0 stopped, 0 zombie %Cpu(s): 2.1 us, 1.4 sy, 0.0 ni, 96.5 id, 0.0 wa, 0.0 hi, 0.0 si, 0.0 st KiB Mem : 1735912 total, 437708 free, 378916 used, 919288 buff/cache KiB Swap: 0 total, 0 free, 0 used. 1188436 avail Mem PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND 251 alan_ch+ 20 0 636432 12428 6504 S 0.2 0.7 0:02.46 python 1 root 20 0 17980 2800 2496 S 0.0 0.2 0:00.01 bash 8 root 20 0 250120 2212 1776 S 0.0 0.1 0:00.84 rsyslogd 38 root 20 0 69952 3040 2268 S 0.0 0.2 0:00.00 sshd
Google云包括Cloud Shell。這提供了一個互動式 Linux 沙箱,可用於輕量級管理或測試任務。它無需付款或付款資訊即可使用。 條款和條件適用。
即使在增加間隔 ( ) 之後,匯總的 CPU 使用率
top
始終顯示在 3-6% 左右top -d 10
。但是,如果您查看為各個程序顯示的 CPU 使用率,它不會加起來。什麼在使用 CPU?
目前的 Cloud Shell 會創建一個私有 VM,以實現最大的靈活性。但它顯示的實際外殼是在容器內執行的。容器具有很高的特權,但由於它使用單獨的 PID 命名空間,因此您無法看到容器外部的程序。
$ amicontained Container Runtime: kube Has Namespaces: pid: true user: false AppArmor Profile: unconfined Capabilities: BOUNDING -> chown dac_override dac_read_search fowner fsetid kill setgid setuid setpcap linux_immutable net_bind_service net_broadcast net_admin net_raw ipc_lock ipc_owner sys_module sys_rawio sys_chroot sys_ptrace sys_pacct sys_admin sys_boot sys_nice sys_resource sys_time sys_tty_config mknod lease audit_write audit_control setfcap mac_override mac_admin syslog wake_alarm block_suspend audit_read Chroot (not pivot_root): false Seccomp: disabled
使用一些精心設計的 shell 命令可以轉義特權容器。這不是安全漏洞,只是不是預期用途。(不要濫用 Cloud Shell 資源。您可以相信Google對監控虛擬機的資源使用情況有所了解)。
例如,我能夠掛載 devtmpfs,創建一些管道,利用在/
core_pattern
上打開 shell 。在 shell 內部,我只重新進入了容器掛載命名空間。然後使用新的 procfs 掛載來過度掛載 /proc 就足夠了。有了它,我可以在另一個 Cloud Shell 選項卡中打開,它會顯示主機PID 命名空間。/dev/fifo_in``/dev/fifo_out``top
假設他們(尚未)優化空閒資源的使用。
top - 12:50:14 up 2:58, 3 users, load average: 0.01, 0.05, 0.04 Tasks: 127 total, 1 running, 96 sleeping, 0 stopped, 1 zombie %Cpu(s): 3.1 us, 1.5 sy, 0.0 ni, 95.4 id, 0.0 wa, 0.0 hi, 0.0 si, 0.0 st KiB Mem : 1735912 total, 444240 free, 351448 used, 940224 buff/cache KiB Swap: 0 total, 0 free, 0 used. 1215836 avail Mem USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND root 20 0 413140 58704 26008 S 2.7 3.4 4:31.18 kubelet root 20 0 378940 46260 15912 S 0.6 2.7 1:03.18 dockerd root 20 0 184008 9760 5408 S 0.1 0.6 0:14.27 python alan_ch+ 20 0 644372 12392 6584 S 0.1 0.7 0:00.07 python root 20 0 66364 33976 33472 S 0.1 2.0 0:10.34 systemd-journal root 20 0 292264 22488 13616 S 0.1 1.3 0:04.56 docker-containe root 20 0 369808 64224 36928 S 0.1 3.7 0:03.81 dockerd root 20 0 365684 6408 3668 S 0.1 0.4 0:06.00 docker-containe alan_ch+ 20 0 58060 20272 7560 S 0.0 1.2 0:01.27 python root 20 0 0 0 0 I 0.0 0.0 0:04.42 rcu_sched