标签: cpu-usage

您多久重新启动使用率很高的 Windows Server 2008R2 远程桌面服务器 (VM)?

注意:我已阅读Windows 服务器需要重新启动的频率?但是这个问题特别与我们的远程桌面服务器有关。

我们有一台 Windows Server 2008R2 服务器 - 一台 VMware ESX VM - 获得远程桌面服务许可,25 个用户也执行 RRAS (SSTP)。在平均工作日,在工作时间内,有 8 到 12 个登录的活跃用户以及 4-6 个“断开连接”的用户。它具有 12 GHz CPU 硬预留和 16 GB RAM,也完全预留。需要时,CPU 预留可扩展至最大 24 GHz。

我们的许多用户完全依赖服务器来工作。他们也对它的性能抱怨不已,但许多人不愿意改变工作习惯或软件来提高其性能。具体来说:

  • 用户拒绝注销而不是断开连接
  • 用户坚持使用 Lync 2013 而不是 Lync 2010(Lync 2013 是臭名昭著的资源猪)

我不能夸大他们拒绝注销的重要性。断开连接的用户在断开连接时继续占用 RAM,这意味着在任何给定时间,我们有多达 16 个正在运行的某些程序实例

我还根据经验注意到,远程桌面服务器运行的时间越长,泄漏/僵尸事件的累积就越多。重新启动后,即使在许多用户登录后比较性能时,服务器也是新鲜的并且速度更快。我还读到定期重新启动可能会有所帮助。

所以我建议定期重启虚拟机——我想每周重启一次,比如周六晚上——因为我觉得这些重启可以解决很多问题。

我想知道,如果您是 Windows 管理员,

  • 即使在用户断开连接/重新连接之后,垃圾/僵尸/泄漏也会随着会话时间的推移而累积这一事实是否正确?

  • 多久重新启动一个类似的充分利用的Windows Server远程桌面服务?

remote-desktop-services windows-server-2008-r2 cpu-usage memory-usage lync

17
推荐指数
3
解决办法
5459
查看次数

当 CPU 百分比达到 X 时如何启动程序

我一直在使用 ASP.NET v 4.0 应用程序遇到非常间歇性的问题,可能每 4 天就会发生一次,发生的情况是 CPU 会飙升至 75%,有时会运行良好,直到一天结束有时它会稳步​​增长到 100 %

然后我必须重新启动服务器。

我遵循了“当工作进程处于 100% CPU 时该怎么办”的每一个指南,我知道它是哪个工作进程,它是哪个应用程序池。我所能做的就是找到该进程并杀死它或回收应用程序池,这有时会有所帮助。

我不知道的是在 CPU 达到 75% 的那一刻系统上发生了什么。

我想知道有没有一种方法可以在 CPU 达到 50% 时启动 procmon 并运行 2 分钟,然后关闭并保存数据?

windows cpu-usage worker-process

16
推荐指数
1
解决办法
138
查看次数

如何在具有多个 VM 的 Hyper-V 服务器上监控 CPU 使用率和性能

我有一台运行 Windows 2008 64 位 Hyper-V 的服务器,具有 8 演出内存和 Intel Xeon X3440 @ 2.53 Ghz,这在主机系统的性能监视器中为我提供了 8 个逻辑内核。

我已经设置了三个虚拟机,都运行 Windows 2008 32 位。

  1. 搭建服务器,运行Team City
  2. 登台服务器
  3. SQL Server,运行 SQL Server 2005

我在设置方面遇到了一些麻烦,因为主机监视器始终保持响应,即使 VM 似乎以 100% 的 CPU 运行并且非常缓慢和无响应。(我已经问过一个单独的问题。)

所以这里的问题是:监控物理 CPU 实际使用情况的最佳方法是什么?我问的原因是有人告诉我我无法可靠地使用任务管理器来监视 VM 中的 CPU 使用情况。

virtualization windows-server-2008 hyper-v cpu-usage

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

任务集无法在 isolcpus 中的一系列内核上工作

作为序言,我在 AMD64 芯片组上使用带有内核 3.2 的 Debian Wheezy。我的机器有两个至强 E5-2690 内核。我设置了启动参数,以便一个 CPU 上的所有内核专用于单个进程。为此,我在 grub 中设置了 isolcpus=8,9,10,11,12,13,14,15。

到现在为止还挺好。现在假设我想对给定命令使用隔离的 CPU,简单地说,我将使用一个简单的无限循环:

$ taskset -c 8-15 bash -c 'while true ; 做回声你好>/dev/null; 完毕' &

到目前为止一切顺利,top 表明核心 8 的利用率接近 100%。现在假设我再次启动该命令:

$ taskset -c 8-15 bash -c 'while true ; 做回声你好>/dev/null; 完毕' &

现在 top 显示内核 9-15 保持空闲并且两个进程共享内核 8。如果相反,我这样做:

$ taskset -c 8 bash -c 'while true ; 做回声你好>/dev/null; 完毕' &

$ taskset -c 9 bash -c 'while true ; 做回声你好>/dev/null; 完毕' &

核心 8 和 9 各获得 …

kernel multi-threading cpu-usage scheduler affinity

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

MySQL 进程超过 100% 的 CPU 使用率

我的 LAMP 服务器遇到了一些问题。最近一切都变得非常缓慢,尽管我网站上的访问者数量没有太大变化。当我运行top命令时,它说 MySQL 进程占用了 150-200% 的 CPU。这怎么可能,我一直认为 100% 是最大值?

我正在运行具有 1.5 GB RAM 的 Ubuntu 9.04 服务器版。

my.cnf 设置:

key_buffer      = 64M
max_allowed_packet  = 16M
thread_stack        = 192K
thread_cache_size       = 8

myisam-recover         = BACKUP
max_connections        = 200
table_cache            = 512
table_definition_cache = 512
thread_concurrency     = 2

read_buffer_size = 1M
sort_buffer_size = 4M
join_buffer_size = 1M

query_cache_limit   = 1M  # the maximum size of individual query results
query_cache_size    = 128M
Run Code Online (Sandbox Code Playgroud)

这是MySQLTuner的输出:

MySQLTuner 输出

top命令:

最高输出

这个问题的原因可能是什么?我可以更改我的my.cnf …

mysql performance cpu-usage

14
推荐指数
3
解决办法
8万
查看次数

当使用交换时,kswapd 经常使用 100% CPU

大多数情况下,当我的计算机开始需要交换时,我会看到 CPU 使用率大幅飙升(kswapd0始终使用 99%-100% CPU)。根据top,时间花在sy(系统/内核)而不是wa(IO等待)上。

我在具有 2GB RAM 的 C720 上运行 Linux 4.0.4-2-ARCH,在 SSD 上运行 6GB 交换。

无论是否打开丢弃页面(TRIM),我似乎都有这个问题。

是否有任何设置我应该检查或调整以查看是否可以解决此问题?

有什么办法可以调试问题吗?类似于strace内核线程?


使用默认的 Arch Linux 设置运行:

/proc/sys/vm/swappiness= 60
/proc/sys/vm/vfs_cache_pressure= 100
/sys/kernel/mm/transparent_hugepage/enabled=[always] madvise never

linux swap cpu-usage linux-kernel

14
推荐指数
2
解决办法
4万
查看次数

ps aux 挂在高 cpu/IO 与 java 进程

我在 java 进程和 nrpe 检查方面遇到了一些问题。我们有一些进程有时会在 32 核系统上使用 1000% 的 CPU。系统非常敏感,直到您执行

ps aux 
Run Code Online (Sandbox Code Playgroud)

或者尝试在 /proc/pid# 中做任何事情,比如

[root@flume07.domain.com /proc/18679]# ls
hangs..
Run Code Online (Sandbox Code Playgroud)

一串ps

stat("/etc/localtime", {st_mode=S_IFREG|0644, st_size=2819, ...}) = 0
stat("/etc/localtime", {st_mode=S_IFREG|0644, st_size=2819, ...}) = 0
stat("/dev/pts1", 0x7fffb8526f00)       = -1 ENOENT (No such file or directory)
stat("/dev/pts", {st_mode=S_IFDIR|0755, st_size=0, ...}) = 0
readlink("/proc/15693/fd/2", "/dev/pts/1", 127) = 10
stat("/dev/pts/1", {st_mode=S_IFCHR|0620, st_rdev=makedev(136, 1), ...}) = 0
write(1, "root     15693 15692  0 06:25 pt"..., 55root     15693 15692  0 06:25 pts/1    00:00:00 ps -Af
) = 55
stat("/proc/18679", …
Run Code Online (Sandbox Code Playgroud)

linux java centos cpu-usage high-load

13
推荐指数
1
解决办法
7307
查看次数

在 systemd 中使用 CPUQuota

我正在尝试对 dd 命令的 CPU 使用率进行硬限制。我创建了以下单元文件

[Unit]
Description=Virtual Distributed Ethernet

[Service]
ExecStart=/usr/bin/ddcommand
CPUQuota=10%

[Install]
WantedBy=multi-user.target
Run Code Online (Sandbox Code Playgroud)

调用以下简单脚本

#!/bin/sh
dd if=/dev/zero of=/dev/null bs=1024k
Run Code Online (Sandbox Code Playgroud)

正如我在本指南中看到的我的dd服务的 CPU 使用率不应超过 10%。但是当我运行system-cgtop命令时,使用率约为 70-75% 。

关于我做错了什么以及如何解决它的任何想法?

当我执行时,systemctl show dd我得到以下关于 CPU 的结果

CPUShares=18446744073709551615
StartupCPUShares=18446744073709551615
CPUQuotaPerSecUSec=100ms
LimitCPU=18446744073709551615
Run Code Online (Sandbox Code Playgroud)

linux cpu-usage systemd

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

为什么空闲的 Windows VM 使用这么多 CPU?

我有 2 个虚拟机作为来宾运行在 Ubuntu 10.04 上运行的 KVM 虚拟化平台上。一个VM是Ubuntu 10.04系统,另一个是Windows 7系统。根据 top 的说法,当两台机器都完全注销时,Linux 机器使用 1% 的 CPU,Windows 机器使用 45-50%。virt-manager 中的图表似乎支持这一点。在后台运行的 Win7 映像上没有安装任何东西;它尽可能新鲜。

为什么 Windows VM 在注销和空闲时使用的比 Linux VM 多得多?

编辑:

我从一开始就使用 paravirt 存储和网络驱动程序安装了来宾。我不相信我还缺少其他任何驱动程序,我错了吗?

根据客人的任务管理器,它确实是空闲的。Taskman 大约占用来宾 CPU 的 1% 或 2%,但没有其他进程占用任何 CPU 时间。

cpu-usage kvm-virtualization

12
推荐指数
2
解决办法
3万
查看次数

有没有办法通过一次读取 /proc/stat 来计算 CPU 利用率百分比?

我想问题是,我可以通过读取一次 /proc/stat 以某种方式计算 CPU 利用率百分比吗?

# head -1 /proc/stat
cpu  67891300 39035 6949171 2849641614 118251644 365498 2341854 0
Run Code Online (Sandbox Code Playgroud)

我正在考虑总结除 IOWait 之外的列(我在某处阅读它被计算在空闲状态),这会给我 100% 并且每个单独的列都可以通过 (column/100_percent)*100 转换为百分比。

  • 用户:在用户模式下执行的正常进程
  • nice:在用户模式下执行的 niced 进程
  • system:在内核模式下执行的进程
  • 空闲:摆弄拇指
  • iowait:等待 I/O 完成
  • irq:服务中断
  • 软中断:服务软中断
  • 偷窃:非自愿等待
  • 来宾:运行普通来宾
  • guest_nice:运行一个好的客人

这是一种可行的方法还是我完全偏离了轨道?

linux cpu-usage

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