标签: cpu-usage

SQL Server 2012 在 16 核/处理器的 2 处理器计算机上的 CPU 利用率非常不均匀

使用 Server + Cal 许可模型安装 SQL Server Enterprise 2012 后,在一台有 2 个处理器、每个处理器有 16 个内核(并且不涉及超线程)的计算机上并将服务器置于极其繁重的负载下,第一个处理器上的 16 个内核未得到充分利用,第二个 CPU 上的前 4 个内核被大量使用,最后 12 个内核根本没有使用(因为此 sql server 版本的 20 个内核限制)。CPU 总利用率显示为 25% 左右。不幸的是,即使任务均匀分布在 20 个内核上,服务器的性能也极差。

Windows Server 在 ESX Server 下的 VMWare 虚拟映像上运行,但所有 CPU 都分配给了 Windows Server。

我们尝试更改关联设置(例如,将大多数内核分配给 CPU,将其他内核分配给 I/O),但这并没有帮助解决性能问题。

将产品版本升级到 SQL Server Enterprise Core 2012 不仅使 SQL Server 能够利用第二个处理器上以前未使用的 12 个内核,而且还使所有处理器的任务分布更加均匀。为了解决积压的请求,CPU 利用率跃升至 90% 左右,一旦被赶上,则下降到 33% 左右,但自从我们故障转移到新更新的版本后,性能显着提高,性能问题也消失了。

我想知道是否有人知道什么可能导致 SQL Server 不均匀地分配负载,几乎完全依赖于有 12 个内核空闲的第二个处理器的前 4 个内核,并且只为第一个上的 16 个内核中的每一个分配几个任务处理器。另外,有没有什么方法可以让我们在不升级产品版本的情况下在使用的 20 个内核之间更均匀地分配负载?

该问题的另一面是产品升级做了什么导致 SQL Server 开始在它识别的所有核心之间均匀分配负载? …

performance cpu-usage sql-server-2012

8
推荐指数
1
解决办法
3097
查看次数

ESXi 上的 Windows Servers 100% CPU 在年度更新

我们有许多在 ESXi 服务器上运行的 Windows Server 2008 R2 SP1 服务器。在 2014 年到 2015 年的年终翻转时,CPU 达到 100% 并且机器挂起。

该解决方案似乎是来自 Microsoft 的修补程序 (KB2800231)。但是,唯一列出的下载都是针对 Vista (Windows 6.0) 的,我们的服务器是 6.1。不用说,当尝试运行 MSU 时,它会出错,说我们有一个不受支持的操作系统。

修补程序网页 ( http://support2.microsoft.com/kb/2800213/en-us ) 表明应该有 2008 R2 的下载,但不清楚。

有谁知道此问题的后续修复程序,或者可以下载正确 MSU 的位置?

windows-server-2008-r2 cpu-usage vmware-esxi

8
推荐指数
1
解决办法
287
查看次数

在 Linux 机器上绘制每个用户的 CPU 使用率

我想绘制以下情况(图形输出会很棒,即 .png 文件)以下情况:我有用户 A、B 和 C。我限制他们的资源,以便当所有用户同时运行 CPU 密集型任务时,这些进程将使用 25%、25% 和 50% 的 CPU。我知道我可以使用实时统计数据,top但不知道如何处理它们。我搜索了巨大的top手册页,但没有找到关于输出可绘制数据的太多内容。理想情况下,图表会显示大约 30 秒的跨度。任何想法如何实现这一目标?

linux performance-monitoring graph cpu-usage

7
推荐指数
2
解决办法
1万
查看次数

ESXi 上 VM 的 CPU 分配

我对 VMware 一无所知,但我最近在 ESXi 上设置了 4 个虚拟机。其中 3 个虚拟机非常不占用资源(一个很少使用的文件服务器、一个很少使用的域域控制器和一个 VMware vMA 主机),一个是资源密集型的(一个终端服务器,在我的小办公室)。

终端服务器虚拟机在高峰时段运行非常缓慢。看看 vSphere 中的性能摘要,CPU 似乎确实已经超过 90%,我的磁盘延迟图也有一些峰值,偶尔会达到 500 毫秒左右。

我没有在 VMware 中配置任何资源分配设置,并且总是假设它足够聪明,允许较繁忙的虚拟机在不太繁忙的虚拟机不需要它们时使用可用资源。然而,情况似乎并非如此,因为整个服务器的 CPU 图表从未超过 10%,并且磁盘延迟从未超过 4 毫秒左右。

所以这告诉我,也许我需要在 VMware 中配置一些资源分配的东西,但我不太明白在这种情况下我应该配置什么。我应该增加 vCPU 的数量还是配置处理器关联?还是应该使用共享或预订功能?本质上,我不想让其他虚拟机的资源完全匮乏,但我确实希望终端服务器能够使用似乎可用的系统资源。

在此先感谢您的任何指导。

cpu-usage vmware-esxi

7
推荐指数
1
解决办法
7150
查看次数

1 或 2 个 vCPU 之间的 vCPU 性能

在虚拟化(主要是 VMware)中,使用 1 个 4 核 CPU 或 2 个 2 核 CPU 是否具有性能优势?让我们假设在 VM 上运行的应用程序可以使用两个 CPU。

virtualization central-processing-unit cpu-usage vmware-vsphere

7
推荐指数
3
解决办法
9406
查看次数

测量覆盖网络性能的正确方法

我目前正在检查不同 Docker 覆盖网络的性能(尤其是 UDP 吞吐量)。为此,我在与 Docker 覆盖网络连接的两台主机之间创建点对点连接,然后iperf在 Docker 容器内运行以检查吞吐量。我注意到每次我iperf作为客户端运行向iperf作为服务器运行的另一个容器发送数据时,客户端主机的CPU使用率达到100%。我通过运行在此处找到的以下命令获得了该结果:

top -bn1 | grep "Cpu(s)" | \
       sed "s/.*, *\([0-9.]*\)%* id.*/\1/" | \
       awk '{print 100 - $1"%"}'
Run Code Online (Sandbox Code Playgroud)

因此,对我而言,吞吐量测试的限制因素似乎是主机的 CPU 容量,因为它以 100% 的速度运行并且无法产生更多流量来使网络连接饱和。我想知道这是否是一个iperf特定问题,所以我想使用不同的工具运行相同的测试,但不确定哪种替代方案最好。主机正在运行 Ubuntu。例如,我发现qperf,uperfnetpipe

此外,更一般地说,我开始想知道吞吐量性能的瓶颈通常是什么。它不总是与CPU容量或链路带宽有关吗?哪些因素与覆盖网络没有直接关系。

这是否意味着应用程序(或覆盖网络)的吞吐量仅取决于它需要多少 CPU 周期来传输一定数量的数据以及它如何压缩它以适应它通过网络(如果这将是瓶颈)。

iperf linux-networking cpu-usage stress-testing docker

7
推荐指数
1
解决办法
655
查看次数

为什么 cpuacct.stat 中的用户和系统 cpu 相加不等于 cpuacct.usage?

问题涉及 Linux cgroups cpu 核算。

我在容器级别注意到了这一点,但它仍然持续到顶层。例如:

# cat /sys/fs/cgroup/cpu/cpuacct.stat /sys/fs/cgroup/cpu/cpuacct.usage
user 34618
system 18038
743932863030
Run Code Online (Sandbox Code Playgroud)

前者的单位是百分之一秒,后者的单位是纳秒,即 346.18、180.38 和 743.932863030

我的问题是:为什么前两者加起来不等于后者?

您可能会想“啊,他们从不同的起源开始”,所以几分钟后以下是相同的指标:

# cat /sys/fs/cgroup/cpu/cpuacct.stat /sys/fs/cgroup/cpu/cpuacct.usage
user 40028
system 22098
818501029494
Run Code Online (Sandbox Code Playgroud)

增量为 54.1、40.6 和 74.57。

cpu-usage cgroup

7
推荐指数
1
解决办法
5046
查看次数

如何查找过去一次正在运行的进程?

我被要求调查今天早上发生的高 CPU 使用率警报。我使用sar -p并看到当时出现的高CPU使用率

接下来我曾经ps -eo pcpu,pid,user,args | sort -r -k1 | less列出了这个时间前 10 名的内存猪

现在我如何找出早上那个特定时间导致瓶颈的进程。我是一名 Java 开发人员,而不是 Linux 专家。

甚至有可能吗?

linux process cpu-usage sar

6
推荐指数
1
解决办法
3万
查看次数

如何比较大型机CPU性能?

我正在使用在 OMVS 中的 tomcat 上运行的应用程序。它在一台大型机上运行得非常糟糕,在另一台大型机上运行得非常好。有没有办法比较两台主机的CPU作为参考?

我试过:

/d m=cpu
Run Code Online (Sandbox Code Playgroud)

我没有发现结果很有希望。我们的迷你系统和我们的主系统的结果似乎是一样的。我认为迷你实际上更有限。

注意:我正在寻找更多关于这个特定 LPAR 的 CPU 处理能力。

GC_

performance performance-monitoring cpu-usage mainframe zos

6
推荐指数
2
解决办法
1419
查看次数

如果没有对 Ubuntu 服务器应用手动更改,如何分配 RAM 和 CPU

我们有一个运行 R-Studio Server 的 Ubuntu Server (16.04),我们在其中进行统计模拟。这些模拟有时对 RAM 和 CPU 影响很大,所以我想知道内核如何分配内存和 RAM,例如,如果两个用户登录并且他们每个人都运行一个单独的 R 会话,在那里他们“竞争”内存和 CPU。

由于我们都不是服务器管理员,因此我们并不真的想应用手动更改,但是我们感兴趣的是 RAM 和 CPU 分配是否更不等于所有用户。

注意:R-Studio Server Pro 版本允许以非常简单的方式为单个用户分配给定数量的内存,但由于我们没有 Pro 版本,我们无法更改这些设置。

ubuntu memory central-processing-unit cpu-usage memory-usage

6
推荐指数
2
解决办法
1240
查看次数