Articles of linux

linux / dev / sd? 读取失败

我找不到任何地方的答案,所以我张贴这个希望它可以帮助别人… 我的情况是Linux系统与外部驱动器连接(和挂载)突然断开连接。 我不知道为什么 – 这可能是一个权力问题。 之后,linux不断报道: /dev/sdd: read failed after 0 of 4096 at 0: Input/output error 运行fdisk -l ,或者pvscan或者vgscan或者lvscan等 重新连接驱动器不起作用,现在没有办法重新安装驱动器。 我需要做的是删除/ dev / sdd设备。 pvremove –force /dev/sdd 从LVM中删除设备,但没有停止错误。 这是解决scheme : cd /sys/block/sdd/device echo 1 > delete 这里的答案指出我要在正确的地方寻找。 荣誉博格达诺

通过小包丢失的networking提高TCP性能

我试图通过一个“高延迟networking”来提高TCP吞吐量,在Linux机器之间有一些数据包丢失。 我将tcp_mem , tcp_wmem和tcp_rmem为“8192 20530752 20530752”。 我将rmem_max , wmem_max , rmem_default和wmem_default为“20530752”。 我将netdev_max_backlog和txqueuelen设置为50000。 我将tcp_congestion_control设置为“可伸缩”。 我使用“nist”(cnistnet)来模拟延迟50ms(每个方向25ms)和0.5%(每个方向0.25%)的下降,BW I达到约7.48mbps。 下面是一个结果表(使用iperf来度量费率): | 0ms | 50ms 0% | 710mbps | 276mbps 0.5% | 181mbps | 7.48mbps 我没有想到延迟会对吞吐量产生如此大的影响(不适用于这些大的TCP窗口)。 我也没想到这个滴效果如此之好。 特别是与“可伸缩”algorithm不同,因为它的“拥塞窗口”应该很快从数据包丢失恢复。 我用tcpdump & sar (sysstat的一部分)试图看看发生了什么事情。 在萨尔的报告中我没有看到任何可疑的东西。 而在tcp转储我看到: “rexmt data pkts”= 88(在8183中发送) “rexmt data bytes”= 127,424字节(已发送的44,649,104个字节) “avg owin”= 135,964字节。 “avg retr time”= 53.5 ms。 […]

对于Linux来说,获取一个进程的总CPU时间以及它所有的subprocess都是存在的

所以基本上我有多个用户在我的系统上,我想确定他们login到shell并运行不同的命令时花费了多lessCPU时间。 我有一个脚本知道他们login的shell的PID。 我必须能够定期探测这个值,所以我不能简单地运行shell(1)或者类似的东西。 我瞥了一眼/ proc / $ pid – 任何人都知道我可以使用的一个很好的值(或值的组合)? 也许有一些内核模块呢? 对我的问题可接受的解决scheme将允许查询init(pid = 1的进程)并查找整个系统迄今使用的总CPU时间。

推荐的Linux发行版的销售点站点

我需要有关发行版的build议,以便select将用作销售点工作站的Linux工作站。 要求/愿望清单: 稳定的定期,强大的更新,很less破坏的东西 安全快速地发布重要的安全更新 一个好的数据包pipe理器,可以可靠地解决依赖关系等问题,并且可以安装更新而无需用户干预 良好的外围设备支持,最近的驱动程序等 庞大的用户群 在未来重新安装新版本的平稳升级path将是很好的。 计划的使用/configuration是将每个站点设置在locking的自助服务terminaltypes模式(和硬化的OS)中。 引导顺序将沿着这些线: 启动到graphics模式并自动login 自动RDP到terminal服务器(使用rdesktop),运行 销售点应用程序 从RDP会话断开连接的那一刻,机器就closures了 我们目前使用CentOS 5.x,但在USB驱动程序和触摸屏支持方面存在问题。 即使我喜欢CentOS,也知道它相当好,但是对于我的需求来说,它们只是过于保守。 想到的两个发行版是Ubuntu和Debian(和CentOS 6,但是我可能会再次用自己的angular度来描述自己)。 build议(最好由经验支持)来帮我挑选一个发行版将会非常受欢迎! 谢谢。

在Windows之上快速虚拟化Linux

我正在运行一个Windows工作站,并做了大量的Rails(Ruby)开发。 Rails在Linux中的运行速度要快3倍,所以我打算在我的工作站上运行一个Linux VM来testing应用程序。 testing尽可能地高性能是非常重要的。 我目前正在运行VMWare Workstation。 我有一个12 GB的四核处理器(充足的RAM备件)。 我有三个select: A.在VMWare工作站中运行Linux B.在另一个虚拟化工具中运行Linux C.为Linux购买新的服务器(没有virt,或者ESXi)。 除了成本之外,这将使我难以复制和粘贴我的Windows工作站。 我的问题是:每种解决scheme会带来哪种types的性能开销? 我有足够的内存,所以我不关心足迹。 但我希望应用程序能够尽可能快地启动,testing和运行。 也就是说,我想刮掉几秒钟,尤其是, 延迟。 哦:我将主要运行没有任何GUI。 但是我也可能有时也想在Linux vm上使用GUI编辑器。 我有什么样的性能开销

我应该先检查/replacemcelog“Memory address parity error”/ MEMORY CONTROLLER AC_CHANNEL0_ERR消息

我有一个服务器,每隔几天内核恐慌。 mcelog告诉我: Hardware event. This is not a software error. MCE 0 CPU 6 BANK 8 MISC 0 TIME 1317928482 Thu Oct 6 15:14:42 2011 MCG status: MCi status: Error overflow Uncorrected error MCi_MISC register valid Processor context corrupt MCA: MEMORY CONTROLLER AC_CHANNEL0_ERR Transaction: Address/Command error Memory address parity error Memory corrected error count (CORE_ERR_CNT): […]

不能应用ACL | setfacl:/ home / username:设备上没有剩余空间

我无法在文件/目录中设置ACL。 以下是从我的terminal复制的数据。 -bash-4.1$ setfacl -mu:asagar:x TestACL setfacl: TestACL: No space left on device -bash-4.1$ df -ahi Filesystem Inodes IUsed IFree IUse% Mounted on /dev/mapper/vg_server01-lv_root 546K 46K 500K 9% / proc 0 0 0 – /proc sysfs 0 0 0 – /sys devpts 0 0 0 – /dev/pts tmpfs 35K 1 35K 1% /dev/shm /dev/sda1 126K […]

LDAP请求似乎挂起重复125字节的数据包,并且TCP连接不closures

我已经重写了这个问题,专注于一个特定的部分。 最初的标题是“Apache挂起或退出,但保持TCP套接字打开,不会接受连接” 问题 问题是configuration为使用LDAP进行身份validation的网站(Moodle)在尝试LDAP身份validation时挂起。 细节 我使用tcpdump来捕获由Apache发送的LDAP请求(即来自web应用程序)和通过CLI ldapsearch实用程序发送的LDAP请求的TCP数据包。 Apache发送的数据包似乎挂起,然后发送这个重复的125字节数据包。 我不知道该怎么做,我希望别人可以。 Apache错误日志中没有捕获任何内容。 我曲解错误logging到“debugging”,什么也没有。 PHP / Web应用程序也不会报告任何错误; 我一直在为PHP启动error_reporting,以及。 只有当LDAP请求由Web应用程序生成并执行时,才会出现此问题。 即当我运行“ldapsearch”具有Web应用程序正在使用相同的凭据和细节时,我从LDAP服务器得到一个快速和完整的响应 LDAP是Windows AD。 我不知道什么版本,我没有pipe理权限(或任何访问,实际上)。 从tcpdump输出 # ## TCP Packets from Apache # # tcpdump -r tcpdump_from_apache.out reading from file tcpdump_from_apache.out, link-type EN10MB (Ethernet) 13:45:00.063879 IP webserver-0001.56557 > ldapserver.someuniversity.edu.ldap: Flags [S], seq 920683327, win 5840, options [mss 1460,sackOK,TS val 3353249407 […]

如果SIGKILL没有,OOM_Killer会成功吗?

上周,一个用户应用程序变成了我的一台服务器。 这是逐渐和缓慢地耗尽记忆。 当我试图kill -9 PID ,PID进入state D 虽然这是吃服务器的内存,这是迄今为止最需要内存的过程,我决定尝试替代方法 – 使用OOM_Killer。 所以,我增加了oom_adj到15,这个PID的oom_score跳了起来。 但是,OOM​​_Killer没有采取行动。 我有几个问题: 如果SIGKILL不行,OOM_Killer会杀死一个进程吗? OOM_Killer运行的可用内存量是多less(在可用内存less于X的地方执行)? 是否等到可用内存达到内核预留的内存(64KB IIRC)? 如何从OOM_Killer中受益,手动调用它还是迫使它运行得更快? 只是为了logging – 服务器是Ubuntu 9.10,内核2.6.31。 谢谢!

服务器进入睡眠模式

我使用debian squeeze安装了一个新的戴尔Poweredge R410服务器。 如果服务器闲置较长时间,似乎进入睡眠模式。 如果我ping的服务器,它不会回答10-20秒,然后再次出现。 在/var/log/messages我可以看到: Oct 13 12:54:56 localhost kernel: [74420.949520] device eth0 entered promiscuous mode Oct 13 12:55:49 localhost kernel: [74473.200155] device eth0 left promiscuous mode 在/etc/acpi中没有任何configuration,如果长时间没有活动,服务器应该进入睡眠模式。 有谁知道还有什么可以导致这个问题?