Cloud Shell 유휴 CPU 사용량이 상대적으로 높은 것 같습니다(3~6%). 이 사용량은 어디에서 발생하나요?

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에는 다음이 포함됩니다.구름 껍질. 이는 간단한 관리 또는 테스트 작업에 사용할 수 있는 대화형 Linux 샌드박스를 제공합니다. 사용하는 데 결제 또는 결제 정보가 필요하지 않습니다. 이용 약관에 동의.

top간격( )을 늘려도 CPU 사용량 요약에는 항상 3~6% 정도가 표시됩니다 top -d 10. 그러나 개별 프로세스별로 표시되는 CPU 사용량을 살펴보면 합산되지 않는다는 것을 알 수 있습니다.

CPU는 무엇을 사용하나요?

답변1

현재 Cloud Shell은 유연성을 극대화하기 위해 개인용 가상 머신을 생성합니다. 그러나 이는 실제 셸이 컨테이너 내부에서 실행되고 있음을 보여줍니다. 컨테이너는 권한이 높지만 별도의 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

권한 있는 컨테이너는 다음과 같습니다.탈출하다, 잘 만들어진 쉘 명령을 사용합니다. 이는 보안 취약점이 아니며 단지 의도된 용도가 아닙니다. (Cloud Shell 리소스를 남용하지 마세요. 신뢰할 수 있습니다.Google가상 머신 리소스 사용량 모니터링에 대해 알아보세요.

예를 들어, devtmpfs를 마운트하고, 파이프를 생성하고, /를 사용하여 core_pattern셸을 열 수 있었습니다. 쉘 내부에서 컨테이너에 다시 들어갑니다./dev/fifo_in/dev/fifo_out네임스페이스만 해당. 그런 다음 새 procfs 마운트로 /proc를 오버마운트하는 것으로 충분합니다. 이렇게 하면 top다른 Cloud Shell 탭에서 열 수 있으며 다음과 같이 표시됩니다.주인PID 네임스페이스.

(아직은) 유휴 리소스 사용을 최적화한다고 가정합니다.

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                                                                

관련 정보