1
laminux29 2021-01-30 00:58:35 +08:00
虚拟化由于其兼容问题的复杂度过高,永远都没办法 100%稳定。
玩虚拟化,最好是找台同配置电脑或服务器,装 ESXi,拿来做参照基准,这样找问题会比较容易。 找问题时,多用快照甚至克隆。每当你对虚机做了一小个更改,立马保存一个版本。通过不断对比版本,你就能发现,哪次在什么地方,做了什么更改,导致系统突然变得不稳定,或者系统的 CPU 使用率突然增高。找到问题出处后,再去分析,才容易得到结论。 |
2
cheng6563 2021-01-30 01:18:36 +08:00 via Android
是不是有健康检查
|
3
owenliang 2021-01-30 07:50:03 +08:00 via Android
是不是服务器过载了呢
|
4
BeautifulSoap 2021-01-30 08:47:26 +08:00 via Android
@laminux29 老哥,容器不是虚拟化
|
6
laminux29 2021-01-30 11:00:49 +08:00
@BeautifulSoap
如果一定要掰字眼的话: 1. Operating-system-level virtualization, also known as containerization, refers to an operating system feature in which the kernel allows the existence of multiple isolated user-space instances. Such instances, called containers, Hogg, Scott (2014-05-26). "Software Containers: Used More Frequently than Most Realize". Network World. Network World, Inc. Retrieved 2015-07-09. 2. To do this, containers take advantage of a form of operating system (OS) virtualization in which features of the OS IBM Cloud Education (12 August 2019 ), "What are containers". |
7
laminux29 2021-01-30 11:02:37 +08:00
|
8
fuse 2021-01-30 11:35:35 +08:00 via iPhone
哥哥来跟你们解释一下
如何容器里面的任务,也就是干的活都一样的情况下 cpu 使用变高,说明指令执行变慢了,perf ipc 查看 为什么会变慢,原来缓存就给一个任务用,命中高,现在多人用,每个任务分到的就少,执行就慢 系统总资源是一定的 |
9
fuse 2021-01-30 11:37:27 +08:00 via iPhone
当然也包括 cpu 内其他资源,共享,造成指令执行等待
|
10
fuse 2021-01-30 11:39:22 +08:00 via iPhone
你家房子就住你一个人,用厨房,上厕所都很快,
但是住个 10 个人,你要上厕所,就要等别人上完 |
11
cassyfar 2021-01-30 11:44:45 +08:00
首先 top 确定是 service 占用 CPU 过大。然后对 service 作 CPU profiling 确定哪段程序占用 CPU 异常。
|
12
xiongya5555 OP @fuse cpu 每个核心的缓存不是独立的吗?如果一个 cpu 中某个核心做的事情会引起另外一个核心变慢,那公有云服务厂商是怎么玩的?
|
13
fuse 2021-01-30 11:59:47 +08:00 via iPhone
|
14
xiongya5555 OP @fuse 抱歉,忘记说了,绑核了的
|
15
xiongya5555 OP 目前猜测是某个资源竞争访问太多,内核中有过多自旋锁造成的 cpu 升高
|
16
fuse 2021-01-31 08:32:34 +08:00 via iPhone
@xiongya5555 那你就要看是用户态还是内核
|
17
tkl 2021-01-31 11:48:10 +08:00
占有率始怎么算得 你连背景都没说清楚
楼上的 fuse 感觉也是一本正经的乱猜胡说 |