服务器 Gind.cn

服务器问题集锦,包括 Linux(Ubuntu, Centos,Debian等)和Windows Server服务器

为什么应用程序在内存限制的LXC容器中将大文件写入磁盘被OOM杀死?

编辑2:此问题似乎也存在以及3.8.0-25 – generics#37 – Ubuntu的SMP 编辑:我修改了原来的标题“为什么会通过写入与dd文件触发Linux内存不足的经理”的问题? 以更好地反映我担心​​的一般问题如下: 当我写一个超过内存限制(设置为300MB)的文件时,我遇到了一个麻烦的情况,即OOM杀手在我的LXC容器中进行了严酷的查杀过程。 当我在Xen虚拟机(EC2 t1.micro)上运行应用程序时,实际上只有512 MB内存,所以这个问题不会发生,所以文件缓冲方面似乎存在一些问题,涉及容器内存限制。 作为一个简单的例子,我可以演示一个由dd编写的大文件如何导致问题。 再次,这个问题困扰所有的应用程序。 我正在寻求解决应用程序的caching的一般问题变得太大, 我明白我可以如何做“dd”的工作。 场景: 我有一个LXC容器,其中memory.limit_in_bytes设置为300 MB。 我试图dd一个〜500 MB的文件,如下所示: dd if=/dev/zero of=test2 bs=100k count=5010 大概有20%的时间,Linux OOMpipe理器被这个命令触发,一个进程被终止。 不用说,这是非常意想不到的行为; dd是为了模拟在容器内部运行的程序写入的实际“有用的”文件。 详细信息:虽然文件caching变大(260 MB),rss和文件映射似乎保持相当低。 下面是在写入过程中可能看起来像memory.stat的一个例子: cache 278667264 rss 20971520 mapped_file 24576 pgpgin 138147 pgpgout 64993 swap 0 pgfault 55054 pgmajfault 2 inactive_anon 10637312 active_anon 10342400 inactive_file 278339584 active_file […]

APC的智能信号电缆(940-0024)真的是专有的吗?

首先,不知道这个问题是属于这个还是这个SU,所以请在这个问题上进行相应的build议。 我们有一个最近configuration在我们的networking上的UPS单元。 UPS单元使用AP9606网卡,但也有一个terminal使用的串行端口(腻子真棒)。 我不熟悉后者。 长话短说,我能够使用telnetconfigurationnetworking适配器。 一切都很好。 不pipe什么原因,当我们重新启动我们的configuration为使用我们的UPS设备进行自动关机的机器时,UPS上的网卡似乎只是丢弃了它的IPconfiguration(仍然试图找出这个问题)。 从那以后,任何尝试与NIC联系的尝试都失败了。 到目前为止尝试的步骤是: 我做了手动ARP条目,以达到按照这些说明 。 点击重置button,重试上一步。 Ran WireShark尝试前面的步骤来查看网卡的MAC或IP是否出现在ARP请求的任何位置。 从UPS单元中分离出来的唯一东西是48p交换机,所以在同一子网内不应该有任何networking过滤。 我没有任何办法来判断这张卡是不是很糟糕,或者如果我真的必须按照这些说明来尝试这个系列。 因为我们固定了UPS单元,所以这个智能信号电缆无处可寻。 不过,我手头上有一个看起来可以工作的思科YC电缆,但我很难find电线configuration,看看他们是否会匹配。 OTOH,得到这个APC电缆也意味着我将不得不find一个陈旧的电脑,也有一个串口。

链路汇聚(LACP / 802.3ad)最大吞吐量

我在Linux下看到一些关于绑定接口的混淆行为,我想把这种情况抛诸脑后,希望有人能为我解决这个问题。 我有两台服务器:服务器1(S1)有4个1Gbit以太网连接; 服务器2(S2)具有2个1Gbit以太网连接。 两台服务器都运行Ubuntu 12.04,尽pipe内核为3.11.0-15(来自lts-saucy linux-generic软件包)。 两台服务器都将其各自的networking接口绑定到单个bond0接口中,并具有以下configuration(在/etc/network/interfaces ): bond-mode 802.3ad bond-miimon 100 bond-lacp-rate fast bond-slaves eth0 eth1 [eth2 eth3] 在服务器之间有几个惠普交换机(我认为)正确configurationLACP的端口有问题。 现在,链接正在工作 – networkingstream量愉快地stream入和stream出两台机器。 而且所有的接口都在使用,所以不像聚合是完全失败的。 但是,我需要在这两个服务器之间的尽可能多的带宽,我没有得到我期望的〜2Gbit / s。 在我的testing中,我可以观察到,每个服务器似乎都将每个TCP连接(例如,iperf,scp,nfs等)分配给一个从属接口。 基本上所有东西似乎都被限制在最大1千兆位。 通过设置bond-xmit-hash-policy layer3+4 ,我可以使用iperf -c S1 -P2发送两个从接口,但是在服务器端,接收仍然只发生在一个从接口上,因此总吞吐量上限为1Gbit / s,即客户端在两个从接口上显示〜40-50MB / s,服务器在一个从接口上显示〜100MB / s。 在没有设置bond-xmit-hash-policy的情况下,发送也仅限于一个从接口。 我觉得LACP应该允许这种连接捆绑,例如,允许单个scp传输来利用两个主机之间的所有可用接口。 我对LACP的理解错了吗? 还是我错过了一些configuration选项? 任何意见或线索调查将不胜感激!