Articles of linux kernel

随机IP /端口UDP DDoS中的高CPU使用率

我一直在使用随机IP和端口来获取这些UDP洪水。 randomip:randomport -> myip:randomport 0字节有效载荷 由于某些原因,它使用了大量的CPU。 这里是perf top -e cycles:k的结果perf top -e cycles:k 。 有没有什么办法来优化内核? 10.42% [kernel] [k] inet_getpeer 7.59% [kernel] [k] inet_getpeer.part.4 6.15% [kernel] [k] peer_avl_rebalance.isra.2 3.38% [kernel] [k] fib_table_lookup 2.77% [ip_tables] [k] ipt_do_table 1.98% [e1000e] [k] e1000_clean_rx_irq 1.82% [kernel] [k] md5_transform 1.69% [kernel] [k] __ip_route_output_key 1.36% [kernel] [k] check_leaf.isra.7 1.34% [kernel] [k] __udp4_lib_lookup […]

服务器不会启动,内核恐慌 – 不同步

CentOS 6.2服务器重启后,我们得到一个内核恐慌,出现以下错误: Kernel panic – not syncing: Attempted to kill init! Panic occurred, switching back to text console 在启动时将init = option selinux = 0传递给内核时,服务器将无故障启动。 我试过寻找init = option的方法,但是我一直没能find解释它的资源。 有人可以解释这个参数是什么吗? 另外,因为这是一个生产服务器,在使用init =选项运行时是否有任何负面/风险? 我试图通过dracut重新启动initramfs哪些不起作用,并在启动时收到上述错误。 由于这是一个集群服务器,主服务器应该是相同的,我已经从另一台服务器复制了/ boot驱动器,但是这也没有解决问题。 (其他服务器没有这种行为) 从备份恢复/启动也不起作用。 你能帮我调查一下这个问题吗? 是什么导致这个内核恐慌? 你将如何去解决这个问题? 什么日志(如果有的话)会告诉你更多的信息? 由于这是较旧的安装,更新/升级是否可能解决此问题? 我还想补充一点,唯一可能的相关问题是,在镜像发生之前,被镜像的根磁盘失败并被replace。 谢谢你的帮助!

在不影响原始安装的情况下卸载安装架

还有一个问题讨论关于卸载安装,但解决scheme有不必要的影响。 考虑以下目录布局: . ├── A_dir │ └── mount_b ├── B_dir │ └── mount_c └── C_dir 现在我将C_dir绑定到B_dir/mount_c并将B_dir到A_dir/mount_b : [hidden]$ sudo mount –bind C_dir B_dir/mount_c [hidden]$ sudo mount –rbind B_dir A_dir/mount_b [hidden]$ mount | grep _dir | wc -l 3 现在umount A_dir/mount_b将会失败,这并不奇怪。 根据networking上的答案,我们需要首先umount A_dir/mount_b/mount_c然后umount A_dir/mount_b 。 但是, umount A_dir/mount_b/mount_c也将卸载B_dir/mount_c : [hidden]$ sudo umount A_dir/mount_b/mount_c [hidden]$ mount | […]

如何在NFSv4.1中使用pNFS

据我所知, pNFS是NFSv4.1的扩展协议。 所以,我有两个问题: 如何在NFSv4.1使用pNFS ? 服务器端对内核版本有特殊要求吗?

在Hyper-V中启动Xen虚拟机出现问题

我用Xen虚拟机pipe理程序供电的虚拟机(Ubuntu的12) 我将它转换为vhdx(Hyper-V)格式,现在试图启动它: Grub说 错误13无效或不支持的可执行格式 可能由于虚拟化的虚拟机风格,这个镜像没有完整的启动内核 是否有一些方法可以添加(重新安装?)内核文件到虚拟机,或者更简单的做一下干净的操作系统安装和复制所有文件? 我可以从另一个liveCd Linux发行版访问VM的磁盘,也可以访问grub菜单

为什么我的Linux内核不能回收它的slab内存?

我有一个系统遭受不断增加的内存使用,直到它达到交换的地步,即使是世俗的东西,因此变得非常没有反应。 罪魁祸首似乎是内核分配的内存,但我很难搞清楚内核中到底发生了什么。 我怎么知道哪些内核线程/模块/任何内核内存使用的特定块负责? 下面是一段时间内系统内存使用情况的图表: 随时间增长的slab_unrecl值对应于/proc/meminfo的SUnreclaim字段。 当我将slabtop运行到该图的末尾并按高速caching大小对其进行sorting时,以下显示的是: Active / Total Objects (% used) : 15451251 / 15530002 (99.5%) Active / Total Slabs (% used) : 399651 / 399651 (100.0%) Active / Total Caches (% used) : 85 / 113 (75.2%) Active / Total Size (% used) : 2394126.21K / 2416458.60K (99.1%) Minimum / Average / Maximum […]

无法解决的问题:iptables:没有链/目标/匹配的名称

所以我想在我的linux vps上安装shorewall防火墙。 vps运行Ubuntu 12.10。 当我键入$ shorewall检查时,我得到这个错误。 iptables: No chain/target/match by that name. ERROR: Log level INFO requires LOG Target in your kernel and iptables 所以我运行iptables -L和我得到 Chain INPUT (policy ACCEPT) target prot opt source destination Chain FORWARD (policy ACCEPT) target prot opt source destination Chain OUTPUT (policy ACCEPT) target prot opt source destination 我试着看其他职位,有一个类似的,但它并没有帮助我。 我正在使用的内核是2.6.32-042stab079.5 […]

ext3 / ext4物理块大小视图

我正在使用xfs的suse 11服务器,并使用“xfs_info / srv”命令,我看到了这一点。 xfs_info /srv/ meta-data=/dev/mapper/vg01-srvvol isize=256 agcount=38, agsize=1964032 blks = sectsz=512 attr=2 data = bsize=4096 blocks=73367552, imaxpct=25 = sunit=0 swidth=0 blks naming =version 2 bsize=4096 ascii-ci=0 log =internal bsize=4096 blocks=3836, version=2 = sectsz=512 sunit=0 blks, lazy-count=1 realtime =none extsz=4096 blocks=0, rtextents=0 所以我认为xfs知道下划线sectsz的大小,但我现在使用512字节的sectsz的磁盘,但我的问题是,如何使用ext3 / ext4文件系统find这种信息? 因为我想尝试使用一个4096 sectsz的新磁盘,并确保ext3 / ext4使用下划线sectsz。 这是使用物理块大小4096的一个新的ssd的xfs_info的输出: xfs_info /dev/mapper/vg00-logvol meta-data=/dev/mapper/vg00-logvol isize=256 […]

优化Linux服务HTTP静态内容

系统可以调整什么来增强静态内容? 像增加/减lessswappines,如何最大限度的磁盘caching等…

Cloud Server中的时间漂移​​ – 需要主pipeGRUBconfiguration

我们正在主持一个受欢迎的主机VPS,正在经历每天几分钟的正常时间漂移(约7)。 Linux内核:2.6.18-164.11.1.el5 GNU / Linux发行版:CentOS发行版5.4(最终版) 我们与我们的托pipe服务提供商联系,他们的支持build议我们“这是一个云服务器已知的问题。要解决这个问题, 您需要添加一行到您的grubconfiguration位于: /boot/grub/menu.lst 你需要添加的行是: noapic nolapic divider = 10 nolapic_timer 这应该纠正这个问题。 join后您将需要重新启动。“ 因为我对操作grub非常谨慎,大多数情况下我很害怕我们的服务器可能无法重新启动 – 我问你们,pro * nixpipe理员 – 在这个文件的确切位置插入下面的build议: # line from 1&1 for time syncing issue (Case 5163) noapic nolapic divider=10 nolapic_timer 走? 请具体说明,确定命令的顺序是否重要。 为什么“title CentOS …”下方的块缩进? 如果有人能够给我一个关于这是如何工作的概述,或者指向一个易于理解的资源,那么我正在寻找这个资源,对我所做的事情进行简要的概述或基本的了解。 如果GRUB和引导程序是内核黑客的深藏宝库,那么非常值得推荐的深入资源也非常受欢迎。 这是我目前的/boot/grub/menu.lst # grub.conf generated by anaconda # # Note that […]