当我注意到iostat -dxk 3读取速度非常慢,介于5 MB / s和10 MB / s之间,以及100%的磁盘利用率时,我正在用GNU sort对一些大文件(91 GB,跨越27个文件)进行sort 。 我试过cat large-file > /dev/null ,得到相似的性能,只是略高一点。 对于cp large-file /tmp/ ,在单独的磁盘上使用/tmp也是一样的。 vim体验和我在Ruby读取文件中写的脚本一样,如果有帮助的话。 写入速度很好,但速度很快。 编辑:它看起来像这些操作只是缓慢的某个目录中的文件。 对兄弟目录(相同的磁盘分区)中的其他文件进行相同的操作,速度快,读取速度高于90MBPS。 这对我来说没有意义。 这可能是由于这些文件的构build方式吗? 我通过阅读很多其他文件来创build它们,并根据行中的第一个字符(如az和其他文件的单个文件)将每行写入适当的“存储区文件”。 所以我几乎同时在一次读取27个文件的同时,通过8个进程追加几行文件。 这是否会导致代表一个文件的块顺序排列? 因此,之后的缓慢连续读取? 不过,我尝试使用fio来测量顺序读取性能,并以73 MB / s的速度进行读取。 还值得注意的是,我的老板从同一台机器上通过FTP下载某些文件时,得到了正确的读取速度。 所以我猜这是一些configuration问题,但我不知道在哪里。 原因是什么?我该如何解决? 编辑:这台机器在Citrix Xen虚拟化下运行。 编辑: iostat -dxk输出,而sort正在加载一个大文件到其缓冲区(得到类似的输出猫/ CP): Device: rrqm/s wrqm/sr/sw/s rkB/s wkB/s avgrq-sz avgqu-sz await svctm %util xvdb […]
我有一些最近的计算机问题,不知何故我的一个磁盘结束了不能在我的arrays中被识别。 它确定罚款,智能和其他一些磁盘检查使用都说得很好,但不知何故UUID是不同的。 因此,mdadm说有一个“删除”的磁盘。 理想情况下,我想更新它,以便它再次检测到,但因为这是raid-5,我不明白为什么我不能从数组中删除它,然后重新添加它,让它重build。 不幸的是,我所看到的每一条命令都要求我在删除命令时将其称为设备,但就md而言,它只是一个不再可用的uuid。 如何删除当前设置为“已删除”的磁盘? – 编辑:更多信息,按要求。 我目前正在运行一个Ubuntu的生活光盘没有networking,所以这些都是手工input。 对不起,如果有任何间距问题。 /proc/mdstat: Personalities : [raid0] [raid1] [raid6] [raid5] [raid4] md0 : inactive sdd1[0] sdc[3] sde1[1] 3907034368 blocks mdadm –detail /dev/md0 /dev/md0: Version : 00.90 Creation Time : Wed May 26 22:59:21 2004 Raid Level : raid5 Used Dev Size : 976759936 (931.51 GiB 1000.20 GB) Raid […]
我在Centos 5.5上安装了一个encryption的RAID6。 当我从raid传输一个大的10GB文件到我的电脑时,它会在4-5GB左右,再以9GB暂停。 数据传输从25mb / sec下降到<1mb / sec大约30-60秒。 stream式传输高清video会每隔几分钟就会结束和/或冻结。 传输是通过桑巴。 同样的事情发生在rsync(使用rsync守护进程)上,但传输速率稍高。 谁能告诉我如何去追踪这个问题? 我不知道如何找出瓶颈在哪里。 背景信息: 服务器:CPU是一个Intel(R)Core(TM)2 CPU 6300 @ 1.86GHz 拉姆:4GB 以太网:主板上的千兆位 SATA:板载x8,6个端口在一个控制器上,另一个在另一个2上 一个核心的CPU使用率约为45%,同时从RAID中传输数据。 我如何创buildRAID: Raid堆栈如下: 磁盘 – > RAID – > DM-隐窝 – > LVM – > FS 我有7x2TB磁盘。 每个都有一个'fd'(raid)分区(/ dev / sdb – > / dev / sdh)注意/ dev / sda是一个包含OS 这是我如何创build它 创buildRAID设备 mdadm […]
我有一个由多个子网组成的VLAN,我想用DHCP来集中IP地址的指定。 DHCP服务器( 100.100.25.88 )是一个位于子网100.100.25.64/27上的Debian机器。 我想为IP地址分配给子网100.100.68.0/24机器。 最终目标是在100.100.68.0/24子网中的所有机器上启用PXE引导。 下面是我的dhcpd.conf文件, # DHCP Configuration file use-host-decl-names on; ddns-update-style interim; ignore client-updates; next-server 100.100.25.88; # Subnet of DHCP server subnet 100.100.25.64 netmask 255.255.255.224 { option subnet-mask 255.255.255.224; range dynamic-bootp 100.100.25.66 100.100.25.94; default-lease-time 21600; max-lease-time 43200; option domain-name-servers 100.100.25.69, 100.100.44.21; option routers 100.100.25.65; filename "pxelinux.0"; } # Subnet of client machines […]
我想有一个类似tcpdump的程序,显示哪个程序发送了一个特定的数据包,而不是只是获取端口号。 这是一个通用的问题,我曾经有过和有时,当你有一个旧的tcpdump文件躺在你身边没有办法find什么程序发送的数据.. 我怎样才能确定哪个进程是在Linux上的UDPstream量的解决scheme? 是一个迹象表明,我可以用auditd,dTrace,OProfile或SystemTap解决这个问题,但是并没有说明如何去做。 即它不显示程序的源端口调用bind().. 我遇到的问题是很奇怪的UDP数据包,由于这些端口是如此短暂,我花了一段时间才解决这个问题。 我通过运行一个类似于下面的丑陋的黑客来解决这个问题 while true; date +%s.%N;netstat -panut;done 所以要么是比这个更好的方法,replacetcpdump,要么从内核获取这个信息,所以我可以修补tcpdump。 用auditd解决这个问题 sudo auditctl -a exit,always -F arch=b64 -S bind -k BIND 这个填充/var/log/audit/audit.log的行如下: type=SYSCALL msg=audit(1292929028.845:3377): arch=c000003e syscall=49 success=yes exit=0 a0=3 a1=808710 a2=10 a3=7fffab28ea10 items=0 ppid=1564 pid=24442 auid=4294967295 uid=0 gid=0 euid=0 suid=0 fsuid=0 egid=0 sgid=0 fsgid=0 tty=pts1 ses=4294967295 comm="nc" exe="/bin/nc.openbsd" key="BIND" type=SOCKADDR msg=audit(1292929028.845:3377): saddr=0200FFFF000000000000000000000000 […]
场景: 我们在LDAP中有用户user1,user2,user3和user4。 和Linux机器linux1,linux2,linux3,linux4,… linux50是在这个LDAP域。 现在的问题是: 如何限制user1仅具有loginlinux1,linux2,linux3和linux4的权限? 其他用户(用户2,用户3,用户4)可以login到所有这些机器(这是微不足道的,我们已经有了)。
每当我su到用户X,它总是开始在用户Y主目录。 最大的问题是,那么X不会运行它的.bash_profile,它会尝试Y,并失败。 我猜这只是用户定义的错字,但不知道在哪里。 这是在红帽。 如何更改用户的起始目录或者修复这些症状?
我正在编写一个将作为服务/守护程序运行的自定义应用程序。 根据惯例,它的二进制文件应该在/opt/appname 。 但是,我在哪里把文件,如: configuration文件 caching和存储 日志
我正在使用iptables设置我的防火墙。 这是我第一次尝试过这样的事情。 到目前为止,我有以下规则: # Clear any previous entries –flush –delete-chain # Set the default policies for all three default chains -P INPUT DROP -P FORWARD DROP -P OUTPUT ACCEPT # Enable use of the loopback interface -A INPUT -i lo -j ACCEPT -A OUTPUT -o lo -j ACCEPT # Accept inbound TCP packets -A INPUT […]
花了很多时间和挖掘让我的IPTables工作得很好。 当前状态 :“有效”, 在SSH连接上有明显的可重现的( 几乎不可接受的 ) 延迟 。 ipTables被禁用后,这个延迟就会消失。 请帮忙,我怎样才能摆脱长长的潜在攻击名单 ,也让我的快速ssh回来? -A INPUT -i lo -j ACCEPT -A OUTPUT -o lo -j ACCEPT #DROP fragments (from a *different* tutorial, do I need this?) -A INPUT -f -j DROP #DROP NEW NOT SYN -A INPUT -p tcp ! –syn -m state –state NEW -j DROP #DROP […]