天行健,君子以自强不息;
地势坤,君子以厚德载物;
手工释放linux内存
作者:曲文庆 日期:2011-12-08 15:58
当在Linux下频繁存取文件后,物理内存会很快被用光,当程序结束后,内存不会被正常释放,而是一直作为caching。这个问题,貌似有不少人在问,不过都没有看到有什么很好解决的办法。那么我来谈谈这个问题。
一、通常情况
先来说说free命令:
引用
[root@server ~]# free -m
total used free shared buffers cached
Mem: 249 163 86 0 10 94
-/+ buffers/cache: 58 191
虚拟机系统时区调整
作者:曲文庆 日期:2011-10-09 15:46
起因:
用虚拟机上线时候,解包提示时间不匹配,由此发现虚拟机时间不对。
处理:
起先以为是时间不对,手工同步了一下时间,观察发现还是如此,调整格式输出发现与本地时间相差8小时,判断是时区显示的问题
根据问题调整了系统clock、localtime等相关文件参数,发现问题依旧。
由于系统时间会与硬件时钟同步,想到会不会和母机有关呢?
查询相关资料,确认了系统时间会自动与母机同步,必须截断虚机同母机的时钟同步。
echo 1 > /proc/sys/xen/independent_wallclock
然后手工同步一下时间,系统时间就刷新过来了。
tail -f 多次grep过滤输出
作者:曲文庆 日期:2011-07-05 15:07
对日志记录做多次grep过滤输出,格式如下:
tail -f log | grep xxx | grep yyy
发现grep失效,无法做正确输出。google研究了一下,原因如下:
管道 | 是全缓冲的,一般来说buffer_size为4096,有些是8192。不管具体值多少,只有buffer_size满了,才会看到输出。
在操作里 >>file 这个操作也是全缓冲的。调整如下
tail -f log | grep --line-buffer xxx | grep --line-buffer yyy
结果输出正常。
grep当带上了 --line-buffer 的时候
关于windows7系统保留分区的解释及删除办法
作者:曲文庆 日期:2011-05-04 20:29
很多朋友会发现,安装windows7,进行分区操作时会出现安装程序自动生成100MB的系统保留分区(在windows7的beta7048版之前是200MB),(默认隐藏,不分配盘符),但如果你安装windows7的次数和安装方式比较多时,会发现这个100MB的分区不一定会出现.事实上,这个100MB的分区对现今的大硬盘而言实在算不得什么,但由于它的存在,很多笔记本电脑都被迫只能划分3个分区(默认只有4个,100MB分区占用一个),这就让我们很不爽了:那么大的硬盘只分出三个分区,显然不能满足我们的要求。但很无奈的是,我们无法在安装过程中删除那个分区,而安装完成后使用工具删除友会导致系统文件丢失或
解决 linux 上 tcp 连接大量 TIME_WAIT 的问题
作者:曲文庆 日期:2010-05-20 10:58
# netstat -n | awk '/^tcp/ {++S[$NF]} END {for(a in S) print a, S[a]}'
在网上查阅了一些tcp参数的相关资料,最后通过修改了几个系统内核的tcp参数缓解了该问题:
#vi /etc/sysctl.conf
net.ipv4.tcp_tw_reuse = 1
net.ipv4.tcp_tw_recycle = 1
#sysctl -p其中:
net.ipv4.tcp_tw_reuse