OOM Killer——天黑请闭眼

凶案现场

同事和我说,我负责的程序,core了。看了一下,3天居然core了35次!什么仇什么怨?

这没道理啊,其他的机器都好好的, 难道是触碰到了什么边界条件?
登上去机器,直接看了/var/logs/message。
里面有一句话很显眼:Out of memory: kill process 10032 (XXX) score 1578178 or a child

又是你 OOM-killer——Out of Memory Killer
Read more..

实践Blade——构建系统

背景

最近打算把手头上的作业系统都改为静态编译,原来一直由makefile方式进行编译管理,觉得比较麻烦和纠结。
为了解决make对于大型系统难以维护、编译效率低等问题,目前有几种解决方案:autotools、cmake、GYP等有各自相应的缺陷,例如上手困难、配置文件编写困难、文档不够完善等等,详情可点击GYP 简介

Blade简介

Read more..

《黑客与画家》读后感

周日无意中,在小组的公共读书角,发现了这本我早就想读的书《黑客与画家》,十大程序员必读的非技术书之一。作者为Paul Graham (保罗•格雷厄姆),硅谷创业之父。这本书是他博客一些文章的整理。

作者看问题的角度十分深刻和独特,例如第一章,对“书呆子经常被欺负和孤立”这个问题做了深刻的探讨。
我审视了一下,小学和初中的我,确实就是那种,由于良知还没觉醒,整天很无聊地通过起花名、开玩笑、恶搞等方式,很顽皮地将自己的欢乐建立在其他人身上的人。
Read more..

MegaCli64命令无法在agent中执行

背景

我目前负责的某XXX系统,有个同事,反馈,有个命令在某台机子上无法执行

命令如下:

./MegaCli64 -LdPdInfo -aALL

这个命令是执行Mega工具,该工具是LSI公司开发的一款管理维护硬件RAID软件,相关可以阅读MegaCli监控raid状态

问题定位

Read more..

Why LD_LIBRARY_PATH is bad

为什么LD_LIBRARY_PATH不好。(本文为翻译,点击我直达原文

背景

这是一个系统管理员的看法:经常使用LD_LIBRARY_PATH,是不好的。这是基于SunOS4.x/5.x(同时一定程度也适合linux)的看法,不过这也适用于其他Unix类系统。

LD_LIBRARY_PATH有什么用?

LD_LIBRARY_PATH 是一个环境变量,你可以设置多个路径,动态库链接器(ld.so)将通过它们去查找共享库,多个路径通过冒号分隔。LD_LIBRARY_PATH指定的路径,将会先于嵌入到可执行文件的搜索路径,也先于系统默认的加载路径(如/usr/lib)。

出于安全的原因,设置了setuid和setgid标志位的可执行文件将会忽略LD_LIBRARY_PATH 变量,这也严重限制了LD_LIBRARY_PATH的使用范围。

为什么需要有LD_LIBRARY_PAYH

Read more..

追梦何须问成败——写在离开时,感谢两年中,所有帮助过我的人

前言

终于到了今天,搬了两年的砖,要滚了。

很久前,
我上山问禅师:“大师,为什么我老觉得我的游戏难度比常人高太多?“
禅师沉默不语,只往纸上写了一个字:”怂“。
我顿时就懂了:”怂=从心,大师,你是让我追随我脆弱幼小的心灵,老老实实做人?“
禅师怒了:

Read more..