Cpu-Usage

Cloud Shell 空閒 cpu 使用率似乎相對較高 (3-6%) - 這種使用量來自哪裡?

  • July 26, 2018
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                                                                

引用自:https://unix.stackexchange.com/questions/458596