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
谷歌云包括云贝壳。这提供了一个交互式 Linux 沙箱,可用于轻度管理或测试任务。无需付款或付款信息即可使用。 条款和条件适用。
top
即使在增加间隔 ( ) 后,CPU 使用率摘要始终显示为 3-6% 左右top -d 10
。但是,如果您查看各个进程显示的 CPU 使用情况,就会发现它并没有相加。
CPU在使用什么?
答案1
当前的 Cloud Shell 创建私有虚拟机,以实现最大的灵活性。但它显示的实际 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
特权容器可以是逃脱了,使用一些精心设计的 shell 命令。这不是安全漏洞,只是不是预期用途。 (请勿滥用Cloud Shell资源。您可以相信谷歌了解有关监视虚拟机资源使用情况的一些信息)。
例如,我能够挂载 devtmpfs、创建一些管道、利用在/core_pattern
上打开 shell 。在壳内,我重新进入容器/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