代码改变世界

rtags——node.js+redis实现的标签管理模块

2012-12-03 00:08 by bangerlee, 3434 阅读, 1 推荐, 收藏, 编辑
摘要:引言在我们游览网页时,随处可见标签的身影:进入个人微博主页,可以看到自己/他人的标签,微博系统会推送与你有相同标签的人游览博文,大多数博文有标签标记,以说明文章主旨,方便搜索和查阅网上购物,我们经常使用标签进行商品搜索,如点选 “冬装” + “男士” + “外套” 进行衣物过滤rtags就是一个用于... 阅读全文

谁动了我的cpu——oprofile使用札记

2012-08-30 21:35 by bangerlee, 36983 阅读, 5 推荐, 收藏, 编辑
摘要:引言 cpu无端占用高?应用程序响应慢?苦于没有分析的工具? oprofile利用cpu硬件层面提供的性能计数器(performance counter),通过计数采样,帮助我们从进程、函数、代码层面找出占用cpu的"罪魁祸首"。下面我们通过实例,了解oprofile的具体使用方法。 常用命令 使用 阅读全文

9个tcpdump使用实例

2012-06-11 22:14 by bangerlee, 22170 阅读, 0 推荐, 收藏, 编辑
摘要:tcpdump能帮助我们捕捉并保存网络包,保存下来的网络包可用于分析网络负载情况,包可通过tcpdump命令解析,也可以保存成后缀为pcap的文件,使用wireshark等软件进行查看。 以下将给出9个使用tcpdump的例子,以说明tcpdump的具体使用方法。 1.针对特定网口抓包(-i选项) 阅读全文

一次Linux服务器被hack的过程分析

2012-06-04 23:14 by bangerlee, 11789 阅读, 13 推荐, 收藏, 编辑
摘要:引言 最近遇到一个服务器被hack的问题,服务器变成了肉机,不断尝试破解其他机器的帐号。下面我们通过分析黑客在服务器上留下的工具,了解入门的hack方法、学习相应的防范措施。 hack工具 hacker登入一台被入侵的服务器,通常首先使用"w"命令查看登陆者信息、使用"passwd"命令修改当前用户 阅读全文

函数调用过程探究

2012-05-22 01:30 by bangerlee, 50158 阅读, 19 推荐, 收藏, 编辑
摘要:引言如何定义函数、调用函数,是每个程序员学习编程的入门课。调用函数(caller)向被调函数(callee)传入参数,被调函数返回结果,看似简单的过程,其实CPU和系统内核在背后做了很多工作。下面我们通过反汇编工具,来看函数调用的底层实现。基础知识我们先来看几个概念,这有助于理解后面反汇编的输出结果... 阅读全文

如何使用strace+pstack利器分析程序性能

2012-04-30 01:00 by bangerlee, 39234 阅读, 10 推荐, 收藏, 编辑
摘要:引言 有时我们需要对程序进行优化、减少程序响应时间。除了一段段地对代码进行时间复杂度分析,我们还有更便捷的方法吗? 若能直接找到影响程序运行时间的函数调用,再有针对地对相关函数进行代码分析和优化,那相比漫无目的地看代码,效率就高多了。 将strace和pstack工具结合起来使用,就可以达到以上目的 阅读全文

resolv.conf文件配置相关的案例

2012-04-21 00:59 by bangerlee, 5407 阅读, 1 推荐, 收藏, 编辑
摘要:引言 操作系统中/etc/resolv.conf配置文件中的内容一般为空,如果该文件配置不正确,将导致ssh、route、netstat命令响应慢的问题。 在/etc/resolv.conf添加错误地内容,导致涉及域名解析相关的命令响应慢,是维护工作中较常遇到的问题。 相关案例 现象:使用其他机器s 阅读全文

Linux文件系统介绍

2012-03-31 21:31 by bangerlee, 11891 阅读, 4 推荐, 收藏, 编辑
摘要:引言Linux作为开源的操作系统,其中一个优点是支持各种各样文件系统类型,从远古的FAT到能现今常用的各种日志文件系统。绝大多数Linux发行版支持ext2、ext3和reiser文件系统,因为它们是原生的Linux文件系统,下面将对虚拟文件系统、日志型文件系统和ext2、ext3、reiser文件... 阅读全文

Linux进程托管与守护进程设置

2012-03-30 02:01 by bangerlee, 19943 阅读, 2 推荐, 收藏, 编辑
摘要:引言 在上一篇《Linux启动之旅》中,我们了解了Linux启动过程,在该过程的最后一步,init进程拉起/etc/init.d/rcN.d/目录下指定的守护进程(daemon)。假若自定义的一个进程也需要随开机自启动,并随系统一直运行,我们可以怎么设置呢? 利用init进行进程托管 系统启动时,i 阅读全文

Linux启动之旅

2012-03-11 15:48 by bangerlee, 3875 阅读, 5 推荐, 收藏, 编辑
摘要:引言某出租房内,某台电脑的电源键被按下,于是开启了一段Linux启动之旅...BIOS系统启动,首先进入BIOS。 ● BIOS 为 Base Input/Output System(基本输入输出系统)的简写 ●其执行POST(Power on self test,上电自检),在发现问题时发出告... 阅读全文