Articles of linux kernel

在Linux中激活cgroups需要什么

我有一个Debian挤压内核(linux-image-2.6.32-5-openvz-amd64),根据Doku应该支持cgroups。 当我查看内核configuration时,它确实(或者需要其他一些内核configuration?) # zgrep -i cgroup /boot/config-2.6.32-5-openvz-amd64 # CONFIG_CGROUP_SCHED is not set CONFIG_CGROUPS=y # CONFIG_CGROUP_DEBUG is not set CONFIG_CGROUP_DEVICE=y CONFIG_BLK_CGROUP=y # CONFIG_DEBUG_BLK_CGROUP is not set CONFIG_NET_CLS_CGROUP=y 而且,根据http://wiki.debian.org/LXC ,内核参数cgroup_enable = memory可能是必要的。 我用它开始了内核: # cat /proc/cmdline BOOT_IMAGE=/boot/vmlinuz-2.6.32-5-openvz-amd64 root=UUID=6332fe39-7eaa-4519-b6c1-e05808284586 ro cgroup_enable=memory quiet console=ttyS0,57600n8 但是,系统仍然没有cgroup的支持! cgroup文件系统无法挂载,因为文件系统types甚至不知道系统: # mount -t cgroup none /cgroup mount: unknown filesystem type 'cgroup' 和: # […]

火星人来自我的公共知识产权

这几天我在kern.log中得到一些火星包: Jul 7 02:28:20 box14932 kernel: [789192.798073] IPv4: martian source XXX.XXX.XXX.XXX from 10.91.12.01, on dev eth1 Jul 7 02:28:20 box14932 kernel: [789192.798095] ll header: 00000000: 44 a8 12 41 1d 2b 13 8b 9c ab 34 89 10 00 D.BB…….Y.. Jul 7 04:29:12 box14932 kernel: [798267.423393] IPv4: martian source XXX.XXX.XXX.XXX from 10.91.20.10, on dev eth1 […]

我必须在Ubuntu服务器上安装vmware工具吗?

它有点傻问题, 我在想,因为我有一些矛硬件安装ESXi免费版,并允许一些外部用户使用预制Ubuntu的10.04服务器。 因为使用内核更新等等的vmware工具必须重新安装我想给服务器没有工具。 所以客户不必害怕升级。 你有什么意见?

无法摆脱神秘的内核

刚注意到,尽pipe定期更新了内核,但使用的版本已经过时了: $ uname -a Linux test 2.6.31-302-rs #7 SMP Thu Oct 29 22:57:03 UTC 2009 x86_64 x86_64 x86_64 GNU/Linux 奇怪的是,这个版本的内核甚至没有被安装: $ dpkg –list | grep linux-image rc linux-image-2.6.32-41-generic 2.6.32-41.90 amd64 Linux kernel image for version 2.6.32 on x86/x86_64 ii linux-image-3.13.0-54-generic 3.13.0-54.91 amd64 Linux kernel image for version 3.13.0 on 64 bit x86 SMP ii linux-image-extra-3.13.0-54-generic […]

Linux进程交换使用率大于整个系统交换使用率

我有一个奇怪的问题,当我运行top命令时,它显示有些进程使用了​​大约1.5GB的交换空间,但是系统交换的整体使用率却降低到117MB左右,为什么呢? 我认为整个系统交换使用情况是所有进程的总体使用情况,在这种情况下似乎并不正确。 这是输出: Tasks: 392 total, 16 running, 373 sleeping, 0 stopped, 3 zombie Cpu0 : 95.1%us, 4.9%sy, 0.0%ni, 0.0%id, 0.0%wa, 0.0%hi, 0.0%si, 0.0%st Cpu1 : 98.0%us, 2.0%sy, 0.0%ni, 0.0%id, 0.0%wa, 0.0%hi, 0.0%si, 0.0%st Cpu2 : 91.1%us, 6.9%sy, 0.0%ni, 0.0%id, 0.0%wa, 0.0%hi, 2.0%si, 0.0%st Cpu3 : 95.0%us, 3.0%sy, 0.0%ni, 0.0%id, 0.0%wa, 0.0%hi, 2.0%si, 0.0%st Mem: […]

我应该在生产服务器上使用Linux 2.6.x还是3.x内核?

我给了一些内核选项(我在linode上托pipe – 所有内核都是由linode定制的):最新的2.6; 最新的3.0; 和最新的2.6.18或更高版本。 如果我select一个,会有很大的差别吗? 性能? 稳定性? 兼容性? 什么是最好的select?

在内核BUG上自动重启(不受污染,“修复recursion故障,但需要重新启动”)

我正在XenServer 6.2主机上运行一个高负载的Debian 7 VM和最新的3.2.x内核。 有时这个虚拟机运行到以下状态: 平安无事,所有服务无法访问(包括SSH) 显示一条消息显示trace +“内核错误” 进一步在错误消息下面显示“修复recursion故障但需要重新启动” sysctl kernel.panic=1已经设置。 这在这种情况下不起作用。 机器不重新启动。 这样的故障后,怎么可能让机器自行重启(因为这不是OOPS,对吗?)? 理想情况下,在重新启动文件系统和ro mount的同步之前会很好… 我知道SysRQ,但我正在寻找一种解决scheme,无需人工干预即可正常工作。 谢谢! 🙂

TCP缓冲区大小和以太网绑定

(这个问题原本是堆栈溢出的 ,Andy告诉我可以在这里得到更快的帮助,所以现在重新贴出来。) 我正在尝试在Linux上调整TCP缓冲区大小,但各种结果让我感到困惑。 testing程序包括一个服务器和一个客户端。 服务器只是监听一个端口,等待客户端从一个mmaped文件发送数据。 接收的数据使用recv复制到应用程序缓冲区,然后丢弃。 在发送数据时,客户端使用send完整大小的mmapped缓冲区作为初始参数。 程序在两个不同的数据中心的两个节点上运行,它们之间的ping响应时间约为9毫秒。 两个节点都安装了两个千兆以太网控制器。 最大吞吐量为256 MB / s,发送/接收缓冲区大小的适当设置应该是大约256 MB / s * 0.09 s〜2415919字节。 我做了几个实验。 在第一次运行中,我运行了一个服务器实例和一个客户端实例。 我没有设置发送缓冲区或接收缓冲区的大小,让内核自动调整它们。 这个案例的目的是build立其他实验的基线。 这个设置的实际吞吐量大约是117 MB / s。 在这种情况下,一对服务器和客户端仅使用一个或者两个networking控制器。 使用ifconfig检查,我发现大多数数据包通过eth0和eth1之间的单个接口。 然后我尝试了两台服务器和两台客户机,这次吞吐量提高到了225 MB / s左右,接近理想的最大吞吐量。 这是令我困扰的第一个问题: 为什么我需要多个进程来消耗带宽? FWIW,下面是/proc/net/bonding/bond0 : Bonding Mode: IEEE 802.3ad Dynamic link aggregation Transmit Hash Policy: layer3+4 (1) MII Status: up MII Polling Interval […]

Linux路线意外的MTU

我在我的networking中观察到相当奇怪的(至less对我来说)几条路线的行为。 我在ipsec隧道上使用gre接口。 这些gre接口在我的整个networking上都有mtu 1400。 通常我看到这种tracepath输出: 1?: [LOCALHOST] pmtu 1500 1: 10.xxx.101.1 13.625ms 1: 10.xxx.101.1 13.178ms 2: 10.xxx.101.1 13.973ms pmtu 1400 2: 192.168.yyy.251 56.555ms 3: 192.168.yyy.92 643.252ms 4: 192.168.yyy.28 417.291ms 5: 192.168.zzz.129 517.893ms reached 但由于某种原因,当tracepath给出不同的结果时,我得到了一个案例: 1?: [LOCALHOST] pmtu 1500 1: 10.xxx.101.1 13.625ms 1: 10.xxx.101.1 20.857ms 2: 10.xxx.101.1 11.954ms pmtu 1400 2: 192.168.yyy.251 46.456ms 3: 192.168.yyy.251 45.563ms […]

mdadm – 卡住重塑操作

我有一个3磁盘RAID 5arrays,我试图添加第四个磁盘。 mdadm –add /dev/md6 /dev/sdb1 mdadm –grow –raid-devices=4 /dev/md6 这个操作成功开始,直到达到51.1% cat /proc/mdstat Personalities : [linear] [raid0] [raid1] [raid10] [raid6] [raid5] [raid4] [multipath] [faulty] md6 : active raid5 sda1[0] sdb1[5] sdf1[3] sde1[4] 3906764800 blocks super 1.2 level 5, 512k chunk, algorithm 2 [4/4] [UUUU] [==========>……….] reshape = 51.1% (998533632/1953382400) finish=9046506.1min speed=1K/sec bitmap: 0/15 pages [0KB], […]