发布时间:2013-01-04 16:04:34
用dd读u盘时,发现有时速度很快,大于200M/s,而从bushound上看不出读动作,说明是从缓存里读的数据。在读之前执行下 echo 1 > /proc/sys/vm/drop_caches 就正常了。关于drop_caches 的解释:Kernels 2.6.16 and newer provide a mechanism to have the kernel drop the page cache and/or inode and dentry caches on command, which can help free up a lot of memory. Now ......【阅读全文】
发布时间:2013-01-04 09:56:42
屏幕有两种输出,一是标准输出,一是标准错误输出。一般重定向是把标准输出转移到文件,标准错误输出只在屏幕显示,不输出到文件。采用如下方法可把所有输出重定向到文件,并且屏幕上依然能够看到输出内容:dd if=/dev/urandom of=/dev/null bs=1M count=100 2>&1 | tee xLog如果不需要屏幕监视,那么下面的表达式即可:dd if=/dev/urandom of=/dev/null bs=1M count=100 >& xLog......【阅读全文】
发布时间:2012-12-31 22:23:58
工作找完了,老板逼着写各种乱七八糟的本子,偷着写点自己的理解,就当是对自己兴趣爱好的补偿吧。 按照ISO C的规定,一个进程可以登记多达32个函数,这些函数将由exit自动调用,通常这32个函数被称为终止处理程序,并调用atexit函数来登记这些函数。 我们通常认为C语言的起始函数是main函数,实质上一个程序的启动函数并不一定是main函数,这个可以采用链接器来设置,但是gcc中默认main就是C语言的入口函数,在main函数启动之前,内核会调用一个特殊的启动例程,这个启动例程从内......【阅读全文】
发布时间:2012-12-27 11:28:59
【原文】大多数的Linux发行版本中,内存盘默认使用的是/dev/shm 路径,文件系统类型为tmpfs默认大小是内存实际的大小,这很符合实际的操作习惯,操作这个路径就是对内存的操作。我们可以重新设置这个内存盘的大小,或者建立新的内存盘,以加速一些特别的应用,例如squid的缓冲,dns的缓冲文件等等。重设内存盘大小:例如:mount -o remount,size=3G /dev/shm注意size的大小可以的单位是M\k\G新建内存盘:例如:mkdir /usr/local/squid/var/cachemount -t tmpfs -o size=3G,mode=0755 tmpfs /......【阅读全文】
发布时间:2012-12-20 14:22:34
【原文】今天对进程做性能测试的时候,发现进程会偶然性的多耗时几秒,一会这里,一会那里,我找啊找,到处打log,花了一下午也没找出原因, 极度郁闷的时候,猛然看见有个read调用,莫非是它搞的鬼?读写fd最容易阻塞的,往上看,但它已是非阻塞的,read的文件是/dev /random,不管,先看看/dev/random有没有什么系统设置超时之类的,上网一查,果然发现/dev/random确实有问题,当系统取不到 足够的随机数时,调用了/dev/random的进程会等待,等多长时间不一定,一直等到能取到一个随机数为止,狂喜,原来是/dev/random搞的 鬼,改吧,改为优......【阅读全文】