良玉的博客 点点滴滴,积水成河_良玉的博客_页游、手游linux运维工程师之路

kernel BUG at /build/buildd/linux-3.13.0/mm/memory.c:3756!

早上机器突然出现负载持续飙升,都到300多了,ps或者top都无法出来。syslog也没报错,以为是某个进程引起的,把所有在跑的业务进程都kill掉,结果还是负载上升。后来一个个log查看,发现kernel.log里有报错:Jun 30 10:16:37 localhost kernel: [20789571.526981] ------------[ cut here ]------------Jun 30 10:16:37 localhost kernel: [20789571.646113

阅读全文...

为flash建立socket安全策略文件服务

前因
Flash被广泛应用于互联网各个方面,是因为它提供了各种各样的特性,其中很重要的一点就是,可以用flash建立TCP连接到服务器然后交换数据。从网络管理员的观点看,一个互联网的服务器能够连接进到内网里来,是一个很恐怖的事情,所以flash搞出来一个安全策略文件。之前用nginx搭建了843端口http://blog.uouo123.com/post/806.html,可能是因为版本兼容问题,perl测试成功,但是产品始终获取不到,则查找是否有其他办法来解决问题。

阅读全文...

标签: nginxflashsocket

作者:良玉 分类:故障处理 浏览:498 评论:0

RTL8111/RTL8168 Network Connection Fix集成网卡更换驱动

组装机网卡RTL8111/RTL8168 ,装了debian7.8

系统驱动:Kernel driver in use: r8169

流量大的时候经常网卡死掉


网上成功资料:


1) Check to see if the r8169 module is loaded
-> lsmod | grep r816
r8168 41104 0 
-> lspci -v
01:00.0 Ethernet controller: Realtek Semiconductor Co., Ltd. RTL8111/8168B PCI Express Gigabit Ethernet controller (rev 03)
Subsystem: ASRock Incorporation Device 8168
Kernel driver in use: r8169
Kernel modules: r8169


阅读全文...

nginx解决flash沙箱冲突

nginx配置:

server {
        listen 843;
        server_name localhost;

        location / {
                rewrite ^(.*)$ /crossdomain.xml;
              }
         
        error_page 400 /crossdomain.xml;
 
        location = /crossdomain.xml {
        root /var/www/html/;
      }

}


crossdomain.xml 放在web根目录下:

<?xml version="1.0" ?> 
<cross-domain-policy>
<site-control permitted-cross-domain-policies="all" />
<allow-access-from domain="*" to-ports="*" />
</cross-domain-policy>


然后perl去检测

# perl -e 'printf "<policy-file-request/>%c",0' | nc 127.0.0.1 843
<?xml version="1.0" ?> 
<cross-domain-policy>
<allow-access-from domain="*" /> 
</cross-domain-policy>


阅读全文...

rsync 常见错误与解决方法整理

我们都是通过错误日志查看
在rsyncd.log里面或.err文件里面,大家可以用记事本打开查看。

注意windows下面我们需要给SvcwRsync用户,管理同步目录的所有权限,基本上这样就可以了

问题一: 
@ERROR: chroot failed 
rsync error: error starting client-server protocol (code 5) at main.c(1522) [r

阅读全文...

kernel: "echo 0 > /proc/sys/kernel/hung_task_timeout_secs" disables this message.

今天遇到报错,机器死掉了,终端没有报错,直接连不上了。重启来看看message日志:


Jul  9 03:42:44 246 kernel: INFO: task zabbix_agentd:18783 blocked for more than 120 seconds.

Jul  9 03:42:44 246 kernel: "echo 0 > /proc/sys/kernel/hung_task_timeout_secs" disables this message.

Jul  9 03:42:44 246 kernel: zabbix_agentd D 0000000000000013     0 18783   6426 0x00000084

Jul  9 03:42:44 246 kernel: ffff88086e635ce8 0000000000000086 ffff88086e635d98 ffffffffffffffe9

Jul  9 03:42:44 246 kernel: ffff88086e635c88 ffffffffa0111129 ffff881074aa7800 00000101fffffff5

Jul  9 03:42:44 246 kernel: ffff88086ee2d058 ffff88086e635fd8 000000000000fb88 ffff88086ee2d058

Jul  9 03:42:44 246 kernel: Call Trace:


阅读全文...

libc.so.6被移走导致 libc.so.6: cannot open shared object file: No such file or directory

 libc.so.6是bash这个shell依赖的重要动态库之一

如果干掉了或者移走了,导致99%的命令无法使用且出现libc.so.6: cannot open shared object file: No such file or directory报错

别急,有办法的:


方法1:找到光盘进入急救模式去修复,拷贝个到原来的地方


方法2:其实很简单

阅读全文...

关于Segmentation fault (core dumped)

有的程序可以通过编译,但在运行时会出现Segment fault(段错误)。这通常都是指针错误引起的。但这不像编译错误一样会提示到文件一行,而是没有任何信息。一种办法是用gdb的step, 一步一步寻找。但要step一个上万行的代码让人难以想象。 我们还有更好的办法,这就是core file。

如果想让系统在信号中断造成的错误时产生core文件, 我们需要在shell中按如下设置:

#设置core大小为无限     

阅读全文...

解决“NETDEV WATCHDOG: eth0: transmit timed out”

有台服务器出现网卡异常情况,具体表现是从公网ping不通该网卡,从内网卡登陆到该机器后,发现其应用服务都正常,重新启动网络后解决问题,查看日志信息,发现有以下错误信息:
 
Apr 13 23:24:24 test kernel: NETDEV WATCHDOG: eth0: transmit timed out,Disabled Privacy Extensions on device c0332e60(lo)。
 
    经过查找资料,发现是属于一个疑难杂症的问题,开始以为是驱动版本过低,但是想想这样的网卡对linux而言是多么的标准呀,百思不得其解中,加入这两个参数,问题解决。
 
方法:
/boot/grub/menu.lst文件,在启动的核心kernel那行最后加上
acpi=off noapic
 
1)acpi=off禁止了一些电源高级管理功能,对你的应用程序没有影响。
2)noapic改变了中断方式,对应用也没有影响

阅读全文...

linux检测磁盘工具之badblocks

硬盘是一个损耗设备,当使用一段时间后可能会出现坏道等物理故障。电脑硬盘出现坏道后,如果不及时更换或进行技术处理,坏道就会越来越多,并会造成频繁死机和数据丢失。最好的处理方式是更换磁盘,但在临时的情况下,应及时屏蔽坏道部分的扇区,不要触动它们。badblocks就是一个检查坏道位置的工具。
一、命令参数
badblocks使用格式为:

引用
badblocks  [  -svwnf  ]  [  -b block-size ] [ -c blocks_at_once ] [ -i
      input_file ] [ -o output_file ] [ -p num_passes ] [ -t test_pattern  ]
      device [ last-block ] [ start-block ]


阅读全文...

如何禁止cron发用户邮件

经常会遇到这样的问题,登陆系统或者敲命令时,系统总会提示:
You have new mail in /var/spool/mail/root
有时很烦,具体产生的原因如下:
cron中执行的脚本有输出导致的。很多人写脚本都不考虑标准输出和错误输出如何处理,这样一旦有输出,cron就会把输出内容发邮件给当前用户。很多网上说的停止MTA(sendmail or postfix)等是不管用的,删除sendmail命令也不行。
比较普通的处理方法就是在每条cron后面添加如下方法进行屏蔽。


阅读全文...

解决软件故障的思路

在软件产品的运营维护阶段,软件工程师的一项重要工作就是解决软件的Bug。在学校的时候,大家学完一门课程,然后考试通过就万事大吉了。但在实际的软件开发项目中,将软件成功交付给客户,只是“万里长征走完了第一步”,后面还有大量的工作要做,例如:解决软件故障、新增功能、版本升级等。作为一名合格的软件工程师,一定要学会准确、迅速地定位并解决软件出现的各种问题。

阅读全文...