是否可以将多核 CPU 服务器配置为允许操作系统将所有内核视为单个 CPU,并允许处理器作为单个 CPU 运行?
许多现代服务器都是多核 CPU。它们是所有 CPU 内核向操作系统报告 1 个 CPU 的方式吗?这对于运行专为单个 CPU 设计的应用程序会很方便。
我注意到运行 SQL Server 2008 的 8 CPU 数据库服务器上的 CPU 使用率根本不平衡。
以下是前一段时间随机一天的 1 天平均值,这是典型且始终不对称的:
(这里只有缩略图,因为图片真的很高,但点击查看全尺寸图片)
我们的4-CPU Web服务器,这些都是几乎完全和完美的平衡相比,所有的时间,让我吃惊的奇怪。
现在,这是一个专用服务器,因此唯一在其上运行的是 SQL Server 2008(以及我们大量使用的内置全文索引),所以我不确定为什么 CPU 使用率会如此不对称. 想法?
有人尝试在 Intel Atom 平台上安装 Hyper-V 吗?
Hyper-V 要求:
Atom 作为处理器似乎满足了这两个要求。但是,我想知道是否存在一些阻塞问题(例如 BIOS 不支持它),因为我检查过的所有 Atom 主板都有很旧的北/南桥。
我的目的是运行两个低要求的虚拟机(嵌入式 Linux),所以性能应该不是问题。
请帮助我理解 /proc/cpuinfo 的输出。我的新服务器有双四核。/proc/cpuinfo 每个内核有两个条目(共 16 个条目):
processor : 9
vendor_id : GenuineIntel
cpu family : 6
model : 26
model name : Intel(R) Xeon(R) CPU X5570 @ 2.9
stepping : 5
cpu MHz : 1596.000
cache size : 8192 KB
physical id : 0
siblings : 8
core id : 0
cpu cores : 4
apicid : 1
initial apicid : 1
fpu : yes
fpu_exception : yes
cpuid level : 11
wp : yes
flags : fpu vme de …Run Code Online (Sandbox Code Playgroud) 我有启用超线程的四核 CPU。所以我有 8 个逻辑核心。我想将我的应用程序限制为仅使用 4 个内核,并且我希望这 4 个内核是不同的物理内核。我应该使用哪些任务集选项(核心编号)?:
谢谢你。
linux unix central-processing-unit multi-threading hyperthreading
我们在云网络上有一台服务器,由第三方提供。我们正在运行 Ubuntu 10.04 服务器版。
问题似乎是随机发生的,每天大约发生一到三次。顶部的平均负载通常在 2 左右,服务器运行正常,但在这些随机时间,平均负载会飙升至 30-35 左右,一切都停止了。无法访问我们的网站,无法在服务器上执行命令,无法执行任何操作。如果您尚未登录,甚至无法登录。
我们能够看到高平均负载的唯一方法是不断运行 top,以便在问题发生时它已经在运行。似乎如果它已经在运行,它会继续正常工作,但是如果它没有运行,则无法启动它。进入这种状态时无法运行任何命令使我们很难诊断问题......而且我们无论如何都不认为自己是服务器专家。
在我看来很奇怪的是,平均负载峰值如此之高,但处理器保持空闲状态,并且有足够的空闲内存。再说一次,我根本不是专家,但我非常基本的理解是,如果内存可用并且处理器没有最大化,那么就不应该有进程在等待(我很可能误会了)。
当我输入这个时,我发现它开始飙升并在一切锁定之前设法运行了一些命令。输出如下:
uname -a
Linux <server name> 2.6.32-308-ec2 #16-Ubuntu SMP Thu Sep 16 14:28:38 UTC 2010 i686 GNU/Linux
Run Code Online (Sandbox Code Playgroud)
最佳
top - 10:55:08 up 15:28, 4 users, load average: 12.29, 7.01, 3.89
Tasks: 313 total, 3 running, 308 sleeping, 0 stopped, 2 zombie
Cpu(s): 0.0%us, 0.0%sy, 0.0%ni,100.0%id, 0.0%wa, 0.0%hi, 0.0%si, 0.0%st
Mem: 4210704k total, 2163024k used, 2047680k free, 162320k buffers
Swap: 2096440k total, 0k used, 2096440k free, 1690464k cached
PID …Run Code Online (Sandbox Code Playgroud) $ cat /proc/cpuinfo | grep -iE "model name|cpu MHz|processor"
processor : 0
model name : Intel(R) Core(TM)2 Quad CPU Q6600 @ 2.40GHz
cpu MHz : 1600.000
processor : 1
model name : Intel(R) Core(TM)2 Quad CPU Q6600 @ 2.40GHz
cpu MHz : 1600.000
processor : 2
model name : Intel(R) Core(TM)2 Quad CPU Q6600 @ 2.40GHz
cpu MHz : 1600.000
processor : 3
model name : Intel(R) Core(TM)2 Quad CPU Q6600 @ 2.40GHz
cpu MHz : 1600.000
Run Code Online (Sandbox Code Playgroud)
就型号名称而言,当每个处理器的 cpu MHz …
除了占用大量 CPU 之外,TrustedInstaller.exe 还占用了我的 Windows server 2008 中的大量内存。这个问题有什么解决方案吗?顺便说一句,Windows 更新服务应该是肯定启动的。
根据http://net-snmp.sourceforge.net/docs/mibs/ucdavis.html#scalar_notcurrent ssCpuUser、ssCpuSystem、ssCpuIdle等被弃用,以支持原始变体(ssCpuRawUser等)。
前一个值(不包括 nice、wait、kernel、interrupt 等)返回一个百分比值:
在最后一分钟内计算的处理用户级代码所花费的 CPU 时间百分比。
此对象已被弃用,取而代之的是“
ssCpuRawUser(50)”,它可用于计算相同的指标,但可以在任何所需的时间段内计算。
原始值返回 CPU 花费的“原始”滴答数:
处理用户级代码所花费的“滴答”数(通常为 1/100 秒)。
在多处理器系统上,“
ssCpuRaw*”计数器在所有 CPU 上累积,因此它们的总和通常为 N*100(对于 N 个处理器)。
我的问题是:如何将刻度数转换为百分比?
也就是说,你怎么知道每秒有多少滴答声(通常——这意味着不总是——1/100s,这意味着每 100 秒一次,或者滴答声代表 1/100 秒)。
我想您还需要知道有多少个 CPU,或者您需要获取所有 CPU 值以将它们加在一起。我似乎找不到一个 MIB,它可以为您提供 CPU 数的整数值,这使得前一条路线很尴尬。后一条路线似乎不可靠,因为一些数字重叠(有时)。例如,ssCpuRawWait有以下警告:
此对象不会在底层操作系统不测量此特定 CPU 指标的主机上实现。 该时间也可能包含在“
ssCpuRawSystem(52)”计数器内。
一些帮助将不胜感激。似乎到处都在说 % 已被弃用,因为它可以派生,但我还没有找到任何显示执行此派生的官方标准方法的地方。
第二个组成部分是这些“滴答声”似乎是累积的,而不是在某个时间段内。如何在一段时间内对值进行采样?
我想要的最终信息是:“当前”(过去 1-60 秒可能就足够了)的用户、系统、空闲、好(理想情况下是窃取,尽管似乎没有标准 MIB)的百分比,偏好较小的时间跨度)。
戴尔的英语专业学生向我提供了 PowerEdge 2950 提供的此错误消息。
CPU2 状态:CPU2 的处理器传感器,IERR无效
我用谷歌搜索过,随机的论坛帖子没有给我一个明确的答案。
这显然也不是一个词:http : //dictionary.reference.com/browse/deassert? s= t
我能猜到意思。断言:
用保证、信心或力量陈述
好的。所以否定的。缺乏信心的状态?此错误消息试图告诉我什么?内存错误与此归为一组:是否试图说应该设置IERRCPU2 ,但不是?当前系统状态是 SNAFU 但 CPU2 认为一切正常?