标签: kernel

为什么拥有更多更快的内核会使我的多线程软件变慢?

我在扩展多进程/多线程 C++ 应用程序时遇到奇怪的行为。该应用程序包含 10 个独立的进程,通过Unix 域套接字进行通信,每个进程都有大约 100 个执行 IO 的线程以及该 IO 上的多个进程。该系统是OLTP,事务处理时间至关重要。IPC IO 基于在 unix 域套接字上使用 zmq 的 boost 序列化(在我们的本地服务器(两个具有 24 核的旧 xeon)上的所有基准测试中,它足够快)。现在,我们在具有更多内核的系统上观察到极其低的性能!

\n

1x Intel\xc2\xae Xeon\xc2\xae X5650 - 虚拟 - 6 核 - TPS 约为 150(预期)
\n1x Intel\xc2\xae Xeon\xc2\xae E5-4669 v4 - 专用 - 32 核 - TPS 约为 150(预期) 700(预期)
\n2x Intel\xc2\xae Xeon\xc2\xae E5-2699 v4 - 专用 - 88 个核心 - TPS 约为 90(应该约为 2000)

\n

在第三台服务器上运行多个基准测试显示处理器能力完全正常。内存带宽和延迟看起来正常。

\n

htop 在内核上显示非常高的时间(红色部分)。所以我们的第一个猜测是某些系统调用需要很长时间才能完成,或者我们在多线程代码中做错了什么。(见下图)perf top报告一个特定的系统调用/内核例程 ( native_queued_spin_lock_slowpath …

debian kernel threads multi-threading

4
推荐指数
1
解决办法
4381
查看次数

无法运行 docker-container '无法在网桥上创建端点frosty_varahamihira'

当我尝试运行 hello-world docker 映像时,出现以下错误:

\n
ubuntu@ubuntu:~$ sudo docker run hello-world\ndocker: Error response from daemon: failed to create endpoint frosty_varahamihira on network bridge: failed to add the host (vethc6c068f) <=> sandbox (veth82a7475) pair interfaces: operation not supported.\nERRO[0000] error waiting for container: context canceled\n
Run Code Online (Sandbox Code Playgroud)\n

我红色了这篇文章,这似乎是完全相同的问题,但我无法安装不同的内核。

\n

我尝试了以下方法来安装新内核,这导致了下一个错误:

\n
ubuntu@ubuntu:~$ sudo wget https://kernel.ubuntu.com/~kernel-ppa/mainline/v5.7.5/amd64/linux-headers-5.7.5-050705-generic_5.7.5-050705.202006220832_amd64.deb\n--2021-10-22 13:47:14--  https://kernel.ubuntu.com/~kernel-ppa/mainline/v5.7.5/amd64/linux-headers-5.7.5-050705-generic_5.7.5-050705.202006220832_amd64.deb\nResolving kernel.ubuntu.com (kernel.ubuntu.com)... 91.189.94.216\nConnecting to kernel.ubuntu.com (kernel.ubuntu.com)|91.189.94.216|:443... connected.\nHTTP request sent, awaiting response... 200 OK\nLength: 1223448 (1.2M) [application/x-debian-package]\nSaving to: \xe2\x80\x98linux-headers-5.7.5-050705-generic_5.7.5-050705.202006220832_amd64.deb\xe2\x80\x99\n\nlinux-headers-5.7.5-050705-generic_5.7.5-05070 100%[===================================================================================================>]   1.17M  2.53MB/s    in 0.5s\n\n2021-10-22 13:47:20 (2.53 …
Run Code Online (Sandbox Code Playgroud)

linux ubuntu kernel linux-kernel docker

4
推荐指数
1
解决办法
4410
查看次数

我如何知道服务器崩溃时正在做什么?

我有一台在 Centos 5.2 上运行的服务器,有没有更好的方法来了解服务器崩溃的原因或当时它在做什么?

对不起,我是新手,感谢您的帮助~谢谢

linux centos kernel

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

如何在 ec2 实例(亚马逊 linux)上查看/启用内核日志?

我有一个亚马逊 ec2 服务器,我在 sysctl.conf 中使用 TCP 设置来增加它可以处理的并发 TCP 连接数,我希望能够查看内核日志以查看任何错误TCP 堆栈,以确保我已正确配置所有内容。

我在某处读到我需要先以某种方式启用内核日志。任何人都可以指出我正确的方向吗?谢谢。

我使用的 AMI 是:amzn-ami-2011.02.1.x86_64

logging kernel tcp amazon-ec2

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

任何路由协议数据包如何从 NIC 卡(物理层)到达(操作流)到任何路由(OSPF/RIP/BGP)守护进程?

问题是在运行多个路由协议守护进程的任何 linux/unix 设备中重新生成路由协议数据包流。

任何路由协议数据包如何从 NIC 卡(物理层)到达(操作流)到任何路由(OSPF/RIP/BGP)守护进程?

networking routing kernel bgp ospf

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

“永远不要更新内核”——这有什么道理吗?

所以我今天与一位同事进行了讨论,他说出了一些我认为很奇怪的事情,因为我正准备将安全更新应用于我们的一台生产服务器。

“你永远不应该应用内核更新。” 他的推理是你不知道它是否会破坏任何链接的模块,这可能随后导致应用程序的各个部分崩溃。如果您正在运行的任何内容都需要您构建自定义内核模块,我会买这个 - 但对于您的标准应用程序来说,这真的是一个问题吗?FWIW 有问题的盒子运行一个 apache 网络服务器和一个数据库。

我认为定期应用安全更新对于防止缺陷是必要的,并且他确定的风险被在您的生产环境中拥有最新内核的好处所抵消。

security linux kernel

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

这个内核错误是什么意思,我应该如何回应?

以下内容取自我将要继承的生产 LAMP Web 服务器的日志记录。它是一台运行 CentOS 5 和 RAID 1 的专用戴尔服务器,跨越两个 1TB 驱动器。

除了配置 Apache、PHP 和 MySQL(我对 LAMP 中的 L 不太了解)之外,我几乎没有任何经验,所以我不确定如何处理以下内容:

WARNING:  Kernel Errors Present
    EXT3-fs warning: mounting fs with errors, running e2fsck ...:  1 Time(s)

 1 Time(s): EXT3 FS on sdb1, internal journal
 1 Time(s): EXT3 FS on sdc1, internal journal
 1 Time(s): EXT3-fs warning: maximal mount count reached, running e2fsck is recommended
 2 Time(s): EXT3-fs: mounted filesystem with ordered data mode.
 2 Time(s): kjournald starting.  Commit interval 5 seconds …
Run Code Online (Sandbox Code Playgroud)

linux centos kernel logwatch centos5

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

禁用 ICMP 不可达回复

我使用的是 Debian 6 - 64 位操作系统,我的服务器不时通过 udp 协议被 ddos​​ed/淹没。我基本上托管游戏服务器,我的防火墙设置为对允许端口上的数据包进行速率限制,但有时每个 IP 的速率很低,但 IP 数量更多,因此我的服务器向攻击 IP 发送传出的 icmp 无法访问的回复受益,但使端口更加窒息/饱和。

我正在研究如何禁用此功能。实际上,被攻击的端口是允许通过防火墙的,虽然可以解决问题,但我无法禁用它们。我在一些端口范围内运行了许多服务器,所以我不能不断地一个接一个地接受这些端口,并决定允许我可能需要的总端口范围。

我正在寻找一些内核能力来阻止这个?

networking kernel

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

/proc/config.gz 的目的是什么

请问这个/proc/config.gz文件在我的 Linux 服务器文件系统中的用途是什么?

是一些备份文件,还是Linux系统更新的文件?我可以改变它吗?

kernel linux-kernel

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

阻止加载 ipmi 内核驱动程序

我试图阻止 ipmi 内核模块加载到具有运行 Ubuntu 14.04 的 SuperMicro X8DTG-D 主板的服务器上。我这样做的动机是,当我尝试重新启动机器时,模块有时似乎需要很长时间才能卸载。我的理解是,将以下内容放入 /etc/modprobe.d 中的文件中并重新生成启动时使用的 RAM 磁盘应该会阻止加载列出的模块;然而,即使我确认 RAM 磁盘中包含包含以下行的文件,但在机器启动时它们似乎仍然被加载:

    alias ipmi_si off
    alias ipmi_devintf off
    alias ipmi_msghandler off
Run Code Online (Sandbox Code Playgroud)

关于如何禁用这些模块的加载有什么想法吗?

ubuntu ipmi kernel modprobe

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