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
谷歌云包括Cloud Shell。这提供了一个交互式 Linux 沙箱,可用于轻量级管理或测试任务。它无需付款或付款信息即可使用。 条款和条件适用。
top
即使在增加间隔 ( ) 之后,汇总的 CPU 使用率始终显示为 3-6% 左右top -d 10
。但是,如果您查看为各个进程显示的 CPU 使用率,它不会加起来。
什么在使用 CPU?
当前的 Cloud Shell 会创建一个私有 VM,以实现最大的灵活性。但它显示的实际外壳是在容器内运行的。容器具有很高的特权,但由于它使用单独的 PID 命名空间,因此您无法看到容器外部的进程。
使用一些精心设计的 shell 命令可以转义特权容器。这不是安全漏洞,只是不是预期用途。(不要滥用 Cloud Shell 资源。您可以相信Google对监控虚拟机的资源使用情况有所了解)。
例如,我能够挂载 devtmpfs,创建一些管道,利用在/
core_pattern
上打开 shell 。在 shell 内部,我只重新进入了容器挂载命名空间。然后使用新的 procfs 挂载来过度挂载 /proc 就足够了。有了它,我可以在另一个 Cloud Shell 选项卡中打开,它会显示主机PID 命名空间。/dev/fifo_in
/dev/fifo_out
top
假设他们(尚未)优化空闲资源的使用。