Articles of 内核

什么是shrink_slab,为什么在/ var / log / messages中显示?

我正在研究Linux系统上的一些应用程序问题,并在最近的问题发生的时候注意到这个问题,但是还不够紧密: Jun 7 17:51:49 localhost kernel: shrink_slab: nr=-155456000 Jun 7 17:51:49 localhost kernel: shrink_slab: nr=-157859400 Jun 7 17:51:49 localhost kernel: shrink_slab: nr=-157833400 Jun 8 06:20:23 localhost kernel: shrink_slab: nr=-284172800 这是什么? 谷歌search没有帮助,我知道这是虚拟机的东西,但为什么它突然出现在/ var / log / messages? 编辑:我把它显示这是因为它可以释放的页面数(“NR”)是负面的。 这大概是一件坏事。 我发现了更新的内核的补丁,显示更有用的消息。 仍然不知道这是什么意思,或者我需要做些什么。

覆盖cgroup中blkio请求的默认调度器

我正试图优化一组必须驻留在单机上的服务器。 即我可以有多个应用程序服务器,数据库服务器,当然还有一个桑巴服务器以及在同一个实例。 现在我正在研究几个可用的优化选项。 在我的追求中,我做了networking堆栈的调整。 来到CPU,内存和BLKIO的调整,我使用CGROUPS 。 我面临的问题是,为了增强我运行的应用程序的性能,为BLKIO子系统实现的CFQ计划程序不是最佳的。 我正在寻找更多的截止日程安排程序,因为这将有助于我的目的。 我的问题是我们是否有可能将BLKIO的内核编译本身的调度程序更改为截止时间,这将反映在我对[CGROUP层次结构] [3]的使用中? 因为当运行服务cgconf时,一个新的FS被挂载,我不希望它恢复到CFQ调度程序。 我也欢迎任何可以让我对自己的资源有更多控制权的build议。 编辑:我正在使用CentOS 6.2进行testing。 稍后将推出Redhat 6.2

为什么`net.inet.ip.forwarding`和`net.inet.ip.fw.enable`内核的sysctl设置保持启用状态,即使在运行Xserve 10.6.8的系统上禁用它们?

非常奇怪的情况。 我从前一个pipe理员那里inheritance了一些Xservers,我曾经负责在各个​​层次上进行清理。 我熟悉Ubuntu中的设置,对于命令行(包括从源代码编译)非常熟悉,也知道如何在OS X中操作命令行。 但是在运行10.6.8(Snow Leopard)的服务器上遇到了一些莫名其妙的问题。 首先,我想将软件防火墙彻底closures。 听起来很简单,进入服务器pipe理,只是告诉它停止正确的防火墙? 不! 所以,如果我closures防火墙,并且执行以下命令来加倍检查命令行: sysctl -a | grep net.inet.ip.fw.enable 结果如预期: net.inet.ip.fw.enable: 0 但是如果我在5分钟左右再次检查它,它会再次变得神奇: net.inet.ip.fw.enable: 1 与NAT转发同上。 sysctl -a | grep net.inet.ip.forwarding 在服务器pipe理中禁用它,结果如下: net.inet.ip.forwarding: 0 几分钟后: net.inet.ip.forwarding: 1 WTF?!? 我检查了crontabs,我是机器上唯一的用户。 我有另一台机器上的服务器pipe理应用程序设置为观看这台机器,但它并没有运行的所有时间。 而这个问题在那之前确实存在。 我不太熟悉sysctl所以需要一些指导。 FWIW,我在最近已经在/etc/sysctl.conf设置了一些以太网调整,但没有连接到上面的其他命令或设置。 为什么这些设置会在几分钟之后奇迹般地改变? 可以做些什么来阻止这一点。 在此先感谢帮助和指针。 编辑:根据下面的注释之一/etc/hostconfig内容: AFPSERVER=-NO- AUTHSERVER=-NO- TIMESYNC=-NO- QTSSWEBADMIN=-NO- QTSSRUNSERVER=-NO- MYSQLCOM=-YES- IPFORWARDING=-NO-

nf_conntrack.acct究竟做了什么?

我发现内核参数nf_conntrack.acct有趣,因为内核文档只是说“启用连接跟踪stream记账”。 我已经附加这grub并重新启动,我还没有发现任何区别。 例如,它与/proc/net/nf_conntrack文件有什么关系? 提前致谢!

平均负载较高,但CPU / IO数据较低 – 如何诊断? (包括dmesg输出)

我们有一个Hadoop集群,其中任意数据节点将被locking。 这通常是由不断增加的负载平均值来预先设定的,CPU和IOwait实际上是不存在的。 受影响的机器的用例是高IO hadoop数据节点,其中有大量的非目标大型档案,并且写入许多小型和大型文件。 底层磁盘正在运行内核2.6.32-358.18.1.el6.x86_64的XFS。 机器都具有8GB以上的32GB + RAM 设备型号是Dell R720xd Raidconfiguration是: sudo /opt/MegaRAID/MegaCli/MegaCli64 -PdList -aAll Adapter #0 Enclosure Device ID: 32 Slot Number: 0 Device Id: 0 Sequence Number: 2 Media Error Count: 0 Other Error Count: 0 Predictive Failure Count: 0 Last Predictive Failure Event Seq Number: 0 PD Type: SAS Raw Size: 558.911 […]

内核级IPconfiguration在Linux内核中不起作用

我在我的linux内核中启用了内核级别的IPconfiguration并编译了它,但是它没有尝试获取任何DHCP地址。 为什么? 有什么额外的或特殊的,我必须做的?

使用PV-Grub和自定义内核的EC2问题:错误21选定的磁盘不存在

在EC2上我正在尝试为PLD-Linux设置AMI,它使用允许使用PV-Grub从AMI内部运行定制内核的新function。 我已经设置了自定义AMI的许多次,但不能得到内核的东西去。 基本上我有一个带有grub菜单文件和自定义的xenU内核的ebs磁盘。 注册这个并作为一个实例启动它从xen主机启动pv-grub,pv-grubfind我的菜单文件并尝试启动在那里find的configuration。 然而,无论我如何configurationgrub菜单项或磁盘分区,grub总是抛出错误“错误21:所选磁盘不存在”。 我已经尝试了以下的许多排列组合: 原始卷作为磁盘与文件系统 1卷上的文件系统分区 hd0和hd00 AKI's(hd0查找原始磁盘版本的菜单文件,一个分区版本的hd00) 在grub菜单中不使用root命令 使用root(hd0) 使用root(hd0,0) 使用各种rootnoverify()的 我在所有情况下都使用ext3。 我没有系统/设备映射文件阻碍。 分区布局和hd0 / hd00 AKI的任何不正确的组合都会导致不同的错误,但是如果我使用正确的并find菜单文件,它总是会抛出上面的错误。 我错过了什么? ( 交叉从EC2论坛发布,因为没有答案,我会照顾确保解决scheme也交叉发布)

CentOS 6:奇怪的页面分配失败消息

我build立了一个新的服务器与CentOS 6.4最后作为旧的MySQL服务器的继任者,我正面临着一些问题。 有时候,mysql连接正在断开连接。 此外,将大型备份tar文件传输到ftp存储有时会失败。 两者都不可重现。 分析时,我发现了一些我在/ var / log / messages中无法解释的奇怪消息。 Mar 30 13:09:24 s16838172 kernel: swapper: page allocation failure. order:1, mode:0x20 Mar 30 13:09:24 s16838172 kernel: Pid: 0, comm: swapper Not tainted 2.6.32-358.0.1.el6.x86_64 #1 Mar 30 13:09:24 s16838172 kernel: Call Trace: Mar 30 13:09:24 s16838172 kernel: <IRQ> [<ffffffff8112c207>] ? __alloc_pages_nodemask+0x757/0x8d0 Mar 30 13:09:24 s16838172 […]

yum更新后如何保持特定的旧内核

我知道在CentOS 6.x中,可以在/etc/yum.conf中放入以下行,告诉yum保留最后N个内核(默认设置为5): installonly_limit=5 但是,有些情况下使用实验性内核(例如ELRepo),即使已经有5次以上的内核更新,我也想保留特定的内核。 有没有对/boot/grub/grub.conf进行编辑,或者是否有yum(或dracut)的configuration选项来做到这一点?

在没有启用SMP的内核上,多个处理器会在/ proc / cpuinfo中显示?

我最近已经将一个应用程序从一台服务器迁移到另一台服务器,并且遇到一些问题,我想知道它们是否与HyperThreading关联。 关于我的问题,我目前无法访问旧盒子。 当我这样做时,我知道在/ proc / cpuinfo中显示了2个处理器,而系统只有1个物理处理器,所以告诉我HyperThreading已启用。 我想知道的是,如果/ proc / cpuinfo可能纯粹从信息的angular度来显示两个处理器,但是内核不是用SMP编译的,所以这些进程并没有触及HyperThreading虚拟CPU,或者如果缺lessSMP内核意味着系统甚至不知道在/ proc / cpuinfo中显示第二个CPU。 如果有人碰巧有一个盒子,他们知道有多个CPU(HT优先,但物理将是更多的信息,那么我现在),有一个非SMP内核加载,并可以检查他们的/ proc / cpuinfo将不胜感激。