Category Archives: unix

每个程序员都应该了解的延迟时间

L1 cache reference
L1 cache读取
0.5ns
Branch mispredict
分支误预测
5ns
L2 cache reference
L2 cache读取
7ns 14x L1 cache
Mutex lock/unlock
互斥锁
25ns
Main memory reference
主内存读取
100ns 20x L2 cache, 200x L1 cache
Compress 1K bytes with Zippy
压缩1KB数据
3,000ns
Send 1K bytes over 1 Gbps network
在1Gbps网络上发送2K数据
10,000ns 0.01ms
Read 4K randomly from SSD*
从SSD硬盘随机读取4K数据*
150,000ns 0.15ms
Read 1 MB sequentially from memory
从内存连续读取1MB数据
250,000ns 0.25ms
Round trip within same datacenter
同一数据中心的往返时间(RTT)
500,000ns 0.5ms
Read 1 MB sequentially from SSD*
从SSD硬盘顺序读取1MB数据*
1,000,000ns 1ms 4x memory
Disk seek
磁盘寻道时间
10,000,000ns 10ms 20x datacenter roundtrip
Read 1 MB sequentially from Network
从网络上顺序读取1M数据
10,000,000ns 10ms
Read 1 MB sequentially from disk
从磁盘上顺序读取1M数据
20,000,000ns 20ms 80x memory, 20x SSD
Send packet CA->Netherlands->CA
发送一个包从从加州->荷兰->加州
150,000,000ns 150ms

 

* Assuming ~1GB/sec SSD

注:原文来自https://gist.github.com/jboner/2841832,略有修改

 


Data Warehouse For Ever原创文章,转载请注明出处

ImportError: No module named bz2的解决方案

make时出现类似错误:ImportError: No module named bz2
多半是由于python的版本问题,新安装的python版本与系统自带的版本路径冲突,导致代码在import bz2模块时找不到路径。
在GOOGLE后,本人认为最好的解决方案是通过临时改变PATH路径的方式解决:
export PATH=/usr/bin:$PATH
make


Data Warehouse For Ever原创文章,转载请注明出处

几个常用的find命令

1.查找指定文件且包含指定文字:
find /etc -name "passwd*" -exec grep "ljp" {} \;

2.删除当前目录下所有0字节的文件:
find . -size 0c -exec rm {} \;

3.删除当前目录下修改时间为30天以前的文件:
find . -mtime +30 -exec rm {} \;

4.查找1000字节以下的文件:
find . -size -1000c -exec grep "MAXLOGIN" {} \;

5.查找目录下0字节的、修改时间1天前的文件并删除
find /db2home/db2inst1/dumpfile -size 0 -mtime +1 -exec rm -f {} \;

6.查找同一行中含”download”和”ftp”的文件:
find . -iname "*.c" |xargs grep -l download |xargs grep -l ftp

7.查找所有2天内变更的文件并tar到一个文件中:
find /db2home -type f -mtime -2 | xargs tar -cvf db2homenew.tar


Data Warehouse For Ever原创文章,转载请注明出处