Linux每隔几秒就会冻结一次

我们遇到的问题是我们的 Linux机箱(Ubuntu 10.04 LTS,在EC2上运行,具有四倍大尺寸,68GB内存和8个虚拟内核,每个3.25GHz)每隔几秒钟冻结一次.键入ssh会话将冻结,并且正在运行的Postgresql进程之一上运行strace通常会显示
02:37:41.567990 semop(7831581,{{3,-1,0}},1

在它继续前几秒钟(它总是卡在那个semop).

OProfile显示大部分时间花在内核中(60%)而Postgresql中则花费37%.

这些停顿(一天前突然开始)的结果是盒子上的负载从0.7变为10,并导致整个堆栈减速.

关于如何追踪正在发生的事情的任何想法? iostat没有显示磁盘特别慢或过载,并且顶部显示用户cpu在这些备份发生时从8%飙升到大约40%.

解决方法

我怀疑你的系统信号量已经不足了.检查ipcs -l以获取当前设置.这是 some info about tuning semaphores for postgresql.特别是我会尝试增加系统范围内的信号量(SemmNS)的最大数量和每组信号量的最大数量(SemmSL).您可以使用sysctl -p修改这些设置.

相关文章

/etc/sysctl.conf这个目录主要是配置一些系统信息,/etc/sys...
1.作用 useradd或adduser命令用来建立用户帐号和创建用户的起...
它们都是多模式编辑器,不同的是vim 是vi的升级版本,它不仅...
不管是我们在安装软件还是监测软件的使用性能,我们都要随时...
装好Tomcat7后,发现除了本机能访问外界访问不了,岂有此理。...
修改防火墙配置需要修改 /etc/sysconfig/iptables 这个文件,...