tl; dr:第一个 CPU 内核始终处于饱和状态,所有其他内核始终负载不足。
一个虚拟机,在基于 Ubuntu 的 Xen XCP 中:
$ uname -a Linux MYHOST 2.6.38-15-virtual #59-Ubuntu SMP Fri Apr 27 16:40:18 UTC 2012 i686 i686 i386 GNU/Linux $ lsb_release -a 没有可用的 LSB 模块。 分销商 ID: Ubuntu 描述:Ubuntu 11.04 发布:11.04 代号:natty
此 VM 有 8 个 CPU 内核。
这个虚拟机上运行着 10 个单线程工作进程,它们通过 FCGI 接口连接到 nginx 服务器(在本地网络端口上侦听)。
在来自 AB 的合成负载下,只有 8 个内核中的第一个内核会加载到 100%(如从 中看到的htop)。它或多或少地始终处于非常高的负载下,所有其他内核的负载从 0% 到 100% 不等,或多或少是随机的(并且这些内核的 CPU 负载在跳动)。
这是我在负载下通常看到的内容htop:
1 [|||||||||||||||||||||||||||||||||||||||||||| …
我需要从 nginx提供一些 FCGI 脚本(通过WSAPI,但这无关紧要)。
目前我正在使用spawn_fcgi来做到这一点。这是我找到的唯一解决方案。
我需要知道我的其他选择。在nginx下有没有其他方式可以运行FastCGI?
以下是 Munin 告诉我的有关通过服务器上的防火墙进行连接的信息:

下面是netstat -n关于这个的内容:
$ netstat -an|awk '/tcp/ {print $6}'|sort|uniq -c
2 CLOSE_WAIT
1 结束
3720 成立
34 FIN_WAIT1
21 FIN_WAIT2
13 LAST_ACK
6 听
4 SYN_RECV
第394话
据netstat,10% 的插座在TIME_WAIT; 根据穆宁的说法,75% 或更多。
这很奇怪。谁是对的?
有关配置等的更多详细信息,请访问:How to reduce number of sockets in TIME_WAIT?
在我们的设置中,我们为每个 TCP 服务分配一个单独的域名以实现可配置性。在生产集群上,我们使用 BIND 来管理它。但是在开发人员机器上,这目前转化为一堆条目/etc/hosts:
127.0.6.4 foobar-api.foo
Run Code Online (Sandbox Code Playgroud)
这大概是每个项目 10 个条目,每个开发人员的机器有几个项目。真的越来越难管理了。
请建议一个轻量级的 DNS 服务器或其他一些解决方案来替换/etc/hosts更容易处理的东西。
我们觉得 BIND 在这里有点矫枉过正。
由于这个问题中概述的原因,我想更改 IRQ SMP 关联性:CPU0 is swamped with eth1 interrupts
但我不能——Input/output error当我尝试写信给/proc/irq/*/smp_affinity.
请向我指出有关此事的 HOWTO。(正式参考/proc/irq/*/也很酷。)
血腥细节:
请注意,这是基于 Ubuntu 的 Xen XCP 主机内的 VM (PV domU)。
$ uname -a Linux MYHOST 2.6.38-15-virtual #59-Ubuntu SMP Fri Apr 27 16:40:18 UTC 2012 i686 i686 i386 GNU/Linux $ lsb_release -a 没有可用的 LSB 模块。 分销商 ID: Ubuntu 描述:Ubuntu 11.04 发布:11.04 代号:natty $ sudo cat /proc/irq/*/smp_affinity 01 01 01 01 01 80 80 80 80 80 80 40 40 40 40 …
上下文:现代 Ubuntu 服务器。
我们有一个特定的主机,所有机器上的所有用户都应该知道它。这是为了避免第一次连接时的交互提示(在非交互模式下失败)。
有没有办法在不涉及known-hosts用户的情况下配置此操作系统范围?
ubuntu ×5
linux ×2
cpu-usage ×1
fastcgi ×1
high-load ×1
hosts-file ×1
irq ×1
known-hosts ×1
monitoring ×1
munin ×1
nginx ×1
smp ×1
spawn-fcgi ×1
ssh ×1
unix ×1