Articles of linux

Amazon EC2中的区域之间的随机超时?

我遇到了EC2中两个实例之间的tcp连接问题。 起初我以为是我使用的工具(JRuby on Rails stack + MongoDB),当我在代码中看到以下exception时: A Mongo::OperationFailure occurred in foo#bar: Mongo::OperationFailure .bundle/jruby/1.8/gems/mongo-1.6.2/lib/mongo/util/tcp_socket.rb:76:in `read' 所以认为这是一个软件问题,我没有来到ServerFault。 我认为JRuby中的IO类在经过一些研究之后可能会被淘汰,但这并不准确。 我继续安装Ruby 1.9.3,并将整个堆栈移到它。 果然,过了一段时间,类似的例外就出现了: A Errno::ETIMEDOUT occurred in anotherfoo#anotherbar: Connection timed out mongo (1.6.2) lib/mongo/util/tcp_socket.rb:70:in `readpartial' 我来到服务器故障的原因是因为我相信这可能是亚马逊的基础设施的一些区域间超时问题,我想知道是否有任何可以validation或给我的build议,如何进一步debugging,因为我用尽了解决scheme。 我的应用程序服务器在我们东 – 1a。 mongodb服务器位于us-east-1c。 也许这可能是一个原因? 为什么我可以打赌使用默认的Amazon Linux AMI(64位,XLARGE)来获取这些超时?

CentOS:在“安装”中设置ext4中的inode数量

在安装CentOS 6的时候,我想设置在ext4分区上创build的inode的数量。 有没有办法做到这一点? 我一直无法find解决scheme。 示例用例:我知道我将拥有一个120GB的磁盘,而我将把它装载到/ var,但是我有一个写入绝对吨文件的应用程序,因此我必须在安装/设置时增加inode。 因此,我想在安装时传入更合适的inode大小。 所以我不会遇到40%的磁盘使用率和100%的inode使用率。 提前致谢!

CentOS上(仅限主机)虚拟networking适配器的ifcfg文件在哪里?

我正在使用CentOS虚拟机,我已经使用VMware Workstation分配了两个networking适配器,但虚拟networking编辑器只允许您更改子网IP,子网掩码和MAC。 但是,我还需要更改每个networking适配器上的IPADDR , BROADCAST , DHCP_HOSTNAME , ON_BOOT和DEVICEvariables。 我在/etc/sysconfig/network-scripts中看不到任何与这两个networking适配器相关的ifcfg文件。 而我没有看到使用networkingpipe理工具(system-config-network)的networking适配器。 什么是最合适的方式来改变这些variables?

服务器内存不足

服务器运行内存不足,并开始杀死进程,顶部使用应用程序占用的总PSS内存(从驻留内存使用的实际内存)小于系统上的总内存,我想找出这个额外的内存使用情况在哪里? 任何想法,下面是meminfo,smem,free -m, 任何build议将非常感激? cat /proc/meminfo MemTotal: 5976008 kB MemFree: 138768 kB Buffers: 2292 kB Cached: 57444 kB SwapCached: 85980 kB Active: 324332 kB Inactive: 121836 kB Active(anon): 309264 kB Inactive(anon): 77992 kB Active(file): 15068 kB Inactive(file): 43844 kB Unevictable: 0 kB Mlocked: 0 kB SwapTotal: 8159224 kB SwapFree: 6836184 kB Dirty: 572 kB Writeback: […]

编译Linux内核“正确”

最近我遇到了一个名为Linux-VServer的Linux内核安全模块,它允许你虚拟化很多东西,并对操作系统进行“分区”以减less折衷的影响。 我很惊讶地发现它需要对内核进行重新编译,因为这些types的东西大多只是可以在运行时加载的模块(selinux,apparmor)。 我重新编译内核以启用Linux-VServer的问题是我是编译我自己的内核的初学者。 我使用Ubuntu软件包库来更新我的内核,让我安心编译它,正确configuration它,这样就不会有太多的问题。 有没有办法获得Ubuntu用于内核分发的内核configuration文件(从运行make menuconfig创build的东西)? 我已经试过看内核编译指南,但大多数只是解释如何下载,提取和运行在内核上,关于实际configuration文件似乎是稀疏的。 我试图运行apt-get source linux-image-3.2.0-generic在我的Ubuntu盒希望抓住“configuration文件”,但我提出了错误Unable to find a source package for linux-image-3.2.0-generic 。 有任何想法吗? 谢谢!

Rackspace Linux服务器崩溃

我最近从一个裸机服务器转移到了The Cloud,供个人使用,我不能高兴。 除了一件事: 我的服务器每周大约崩溃一次 。 Rackspace非常棒,非常有帮助,我希望和他们保持联系并向他人推荐他们。 但有了这个问题,我被告知,服务器只是内存不足,我需要看看它。 虽然我很好,这看起来像我的问题,我从来没有听说过Linux内存崩溃的机器。 根据我的经验,最糟糕的情况是,运行速度确实很慢,否则内核会启动进程。 一些细节: 运行Gentoo Linux(最新) 512MB RAM,1G交换 已安装和运行的服务: 2 Apache 2 procs(1最小,用于静态/caching资源和代理服务; 2nd有cgi,mod_perl和mod_jk) 2个Tomcat实例(1个有我做的两个应用程序,另一个只是Nexus) Mysql的 发生崩溃时: 服务器可以ping通 SSH连接无限期挂起 控制台将允许用户名,但密码提示永远不会出现。 60秒后超时,我提出了另一个login提示。 重复。 服务(http,tomcat,mysql)不能联系; 连接将挂起而不报告404,未find服务器等。 软启动将无法工作,硬启动需要经常执行多次(即使在重启尝试之间等待30分钟) 这些年来,我在服务器上运行了相同的设置,但只有256MB内存。 唯一的区别是我在虚拟机上。 我的问题可以采取以下两种forms之一: 是否有人与Rackspace云或其他云主机有类似的问题? (如果是的话,解决scheme是什么?)或者; 追查我的问题有什么好方法? 我设置了一个每分钟输出uptime并free到文件的cron,以便在下次崩溃后检查它,但这看起来很诡异。 完全披露:我是一名贸易软件开发人员,这是我的大部分经验,但我有大约15年使用Linux的桌面和服务器的个人和专业使用经验。

在Linux服务器上突然发生内核恐慌

几天前,我pipe理的服务器在正常运行时间超过400天之后就感到恐慌。 我重新启动它,它工作了两天左右,然后它碰到一个“oops:cpu#n卡住了61s”为n的各种值。 再次重新启动,今天原来的内核恐慌再次​​出现。 跟踪(手动重新input,跳过地址): Kernel panic – not syncing: Fatal exception in interrupt Pid: 0, comm: swapper Tainted: GD 2.6.32-41-server #89-Ubuntu Call Trace: <IRQ> panic oops_end die do_general_protection ? consume_skb general_protection ? put_page skb_release_data __kfree_skb consume_skb dev_kfree_skb_any sky2_tx_complete sky2_status_intr ? __queue_work sky2_poll net_rx_action __do_softirq ? handle_IRQ_event call_softirq do_softirq irq_exit do_IRQ ret_from_intr <EOI> ? mwait_idle ? […]

分区上的RAIDarrays通过阻塞设备

编辑 :看来,这可能是一个固有的问题与.9超级版块。 数字,我只能在这里发布后,find这些链接。 https://bugs.launchpad.net/ubuntu/+source/debian-installer/+bug/599515 mdadm与驱动器而不是分区组装 最近,我添加到新的磁盘到一台机器。 我在每个驱动器上创build了一个分区,并使用软件raid在分区之间build立raid1。 但是,由于某些原因,在将分区添加到数组之后,mdadm也会在基础块设备中检测到超级块。 这在启动过程中会导致很多问题,因为udev尝试在/ dev / sda1之前递增地组装数组,并在/ dev / sda上绊倒。 正如你可以看到下面,只有md3患有这个问题。 它与mdadm -A /dev/md3 /dev/sda1 /dev/sdb1组装在一起。 我以某种方式错误地设置了这些分区吗? root@blaster:/# mdadm –examine –verbose –scan ARRAY /dev/md3 level=raid1 num-devices=2 UUID=33868dc0:becdb6b6:8b9f62c7:cb89d2ee spares=2 devices=/dev/sdb1,/dev/sdb,/dev/sda1,/dev/sda ARRAY /dev/md0 level=raid1 num-devices=2 UUID=866cc7e5:f18b48c0:539d4f3e:4592bf76 devices=/dev/sdd1,/dev/sdc1 ARRAY /dev/md1 level=raid1 num-devices=2 UUID=550101be:d1fac9c9:48c0e818:59501087 devices=/dev/sdd2,/dev/sdc2 ARRAY /dev/md2 level=raid1 num-devices=2 UUID=7783bbb3:6e381768:8b9f62c7:cb89d2ee devices=/dev/sdf1,/dev/sde1

系统日志写在控制台上

我有syslog local7奇怪的问题,我的系统日志configuration系统日志被写入 local7.info /var/log/syslog_info 它的工作很好几年,但近日来一个设备系统日志信息写在控制台上,我不知道为什么这一个设备系统日志控制台上,但其他数百设备系统日志仍写在文件上。 我的问题是我怎么能阻止呢? 我需要该设备的系统日志,所以我不想停止它,但同时我不想写在我的控制台上。 我的Os是64位的Solaris。 谢谢, 这是我的syslog.conf # *.err;kern.notice;auth.notice /dev/sysmsg *.err;kern.debug;daemon.notice;mail.crit /var/adm/messages *.alert;kern.err;daemon.err operator *.alert root *.emerg * # if a non-loghost machine chooses to have authentication messages # sent to the loghost machine, un-comment out the following line: #auth.notice ifdef(`LOGHOST', /var/log/authlog, @loghost) mail.debug ifdef(`LOGHOST', /var/log/syslog, @loghost) # # non-loghost machines will […]

在特定的目录中断运行rpm命令

我有一个与这个RPM问题无关的问题。 我不确定这两者是否相关,但我只是谈论与运行rpm命令相关的问题,因为它更容易解释。 我们遇到的另一个问题涉及到我们的应用程序,而其他人都不知道。 反正,所以我们的质量保证人员正试图解决为什么文件不能写入这个特定的目录。 出于某种原因,她决定运行rpm -qa | grep -i lp rpm -qa | grep -i lp 。 假设目录是/home/tom/mydir 。 如果她以她的用户的身份在/home/tom/mydir之外运行rpm命令,她将获得所需的结果。 如果她在那个目录里面,她会遇到以下情况。 error: cannot open Packages index using db3 – Invalid argument (22) error: cannot open Packages database in /var/lib/rpm 作为根,我可以在所述目录或其他任何地方运行rpm命令。 她认为这个问题是相关的,我只是想知道为什么这个目录给我们作为她的用户问题。 是的,我也尝试重buildRPM数据库。