Flashcache是Facebook技术团队开发的一个内核模块,通过在文件系统(VFS)和设备驱动之间新增一次缓存层,可以用SSD作为介质的缓存,通过将传统硬盘上的热门数据缓存到SSD上,加速服务器磁盘读写性能。
Centos5.7下安装Flashcache,查看系统及内核版本:
1 | $ uname -a |
1 | $ cat /etc/issue |
下载安装内核源码树:
1 | #http://www.onovps.com |
Flashcache是Facebook技术团队开发的一个内核模块,通过在文件系统(VFS)和设备驱动之间新增一次缓存层,可以用SSD作为介质的缓存,通过将传统硬盘上的热门数据缓存到SSD上,加速服务器磁盘读写性能。
Centos5.7下安装Flashcache,查看系统及内核版本:
1 | $ uname -a |
1 | $ cat /etc/issue |
下载安装内核源码树:
1 | #http://www.onovps.com |
在脚本中有一句find和xargs配合使用的命令如下
1 | if [ ${BACKUP_EXCLUDE} -eq 0 ]; then |
老是会出现“xargs: unmatched single quote”错误,检查发现是因为某些文件名有空格或其他特殊字符导致。想问一下是否有解?曾尝试过在find中使用参数”-print0″配合xargs -0,但是没法分行。高手帮忙!谢谢先!
抱歉, 我的说明不是很详细导致把各位的思路弄乱了。
首先,出现问题的语句是代码里第二个find语句
其次,该语句作用是找出所有的文件并通过管道过滤排出部分结果,然后产生找出文件的目录名,最后合并同类项输出
我曾尝试过在在find指令中加入-print0,但是无法通过grep;如果写成find … -print0 -exec grep -v -E … ”{}” ; |xargs -0 -i dirname “{}”|uniq,会出现奇怪的结果!
对grep后的输出转换成NULL字符结尾的字符流,结合xargs -0
1 | if [ ${BACKUP_EXCLUDE} -eq 0 ]; then |
awk ‘pattern{action}’ file
, 一般awk的格式是这样的。
如果写成awk ‘pattern’ file,那么action默认为{print $0};
pattern如果是个定值,则判断该值是否为0(0为false,非0为true);
pattern如果是个计算表达式,则判断计算结果是否为0;
pattern如果是个awk 命令,则判断其返回值是否为0。
这样就能理解awk ’1′ file的意义了:
在这里action为空,因此默认为{print $0};1为定值,非0,因此执行action,即print $0。
您的余额已不足10元,请及时充值!!!!我知道我知道,不要来烦我了!但是他真的不会来烦你吗?
不过要是你遇到了这个“你的磁盘空间不足100M,请先清理磁盘!!!!”想要它不要再来烦你的话,是可以的。
PS:如果这种事发生在C盘的话,那就及时把C盘里认为不需要的东西移到其它分区吧。
对于像CDEFG这些盘,空间不足也没办法啦,移到了别的地方后硬盘剩余空间还不是一样啊。这个提示弹出来一两次还不以为意,但弹多了,是会烦的,微软真啰嗦。
呃~~看来我也啰嗦了不少!!!
首先打开注册表:开始——运行——regedit
1 | HKEY_CURRENT_USER\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\Explorer |
找到NoLowDiskSpaceChecks,如果没有的话,就新建一个“DWORD (32-位)值”,把16进制值设为1
如果你想继续让这个提示烦你的话,你可以把值设为0。
比如说有一个周期性(cron)备份mysql的脚本,或者rsync脚本,
如果出现意外,运行时间过长,
很有可能下一个备份周期已经开始了,当前周期的脚本却还没有运行完,
显然我们都不愿意看到这样的情况发生。
其实只要对脚本自身做一些改动,就可以避免它被重复运行。
1 | #!/bin/bash |
Double write写给innodb带来的是可靠性,主要用来解决部分写失败(partial page write)。
doublewrite有两部分组成,一部分是内存中的doublewrite buffer,大小为2M,另外一部分就是物理磁盘上的共享表空间中连续的128个页,即两个区,大小同样为2M。
当缓冲池的胀业刷新时,并不直接写硬盘,而是通过memcpy函数将脏页先拷贝到内存中的doublewrite buffer,之后通过doublewrite buffer再分两次写,每次写入1M到共享表空间的物理磁盘上,然后马上调用fsync函数,同步磁盘。以下命令可以查看doublewrite的使用 情况。
1 | mysql> show global status like 'innodb_dblwr%'; |
这台DB doublewrite一共写了60511554个页,但实际写入次数为828734,60511554/828734=73。说明这台DB的压力一般。 slave上可以通过设置skip_innodb_doublewrite参数关闭两次写功能来提高性能,但是master上一定要开启此功能,保证数据安全。
skip_innodb_doublewrite,是一个自读变量,需在配置文件中设置,并重启生效。
mysql used mem =
key_buffer_size
+ query_cache_size
+ tmp_table_size
+ innodb_buffer_pool_size
+ innodb_additional_mem_pool_size
+ innodb_log_buffer_size
+ max_connections * ( read_buffer_size + read_rnd_buffer_size + sort_buffer_size+ join_buffer_size + binlog_cache_size + thread_stack )
在mysql 中输入如下命令,可自动计算自己的当前配置最大的内存消耗:
SHOW VARIABLES LIKE ‘innodb_buffer_pool_size’;
SHOW VARIABLES LIKE ‘innodb_additional_mem_pool_size’;
SHOW VARIABLES LIKE ‘innodb_log_buffer_size’;
SHOW VARIABLES LIKE ‘thread_stack’;
1 | SELECT ( @@key_buffer_size + @@query_cache_size + @@tmp_table_size + @@innodb_buffer_pool_size + @@innodb_additional_mem_pool_size + @@innodb_log_buffer_size + @@max_connections * ( @@read_buffer_size + @@read_rnd_buffer_size + @@sort_buffer_size + @@join_buffer_size + @@binlog_cache_size + @@thread_stack ) ) / 1073741824 AS MAX_MEMORY_GB; |
rm、cp、mv是unix下面常用到的档案处理指令,譬如我们需要移除不必要的档案通常会使用rm xxx来删除,如果档案数目眾多且命名具有规则,eg. file1.log、file2.log、file3.log等,為求方便则会利用万用字元来处理,eg. rm -f *.log,但是当这些指令后面所处理档案数量多到某种程度时,就会出现/bin/rm: Argument list too long这个错误讯息。
往往在我们执行一些程式时,系统会產生大量的log或者是不必要的暂存档(有时候是程式出错的悲剧@@),但是如果在删除时遇到这种错误,往往会很呕,这表示又要写一些code来处理这些garbage,所以在网路上面查了一下,目前最常看到的解决方法是用xargs来处理,方式如下:
1 | find . -name '*.log' | xargs rm |
另外,在对岸的同胞上的网誌上面也看到不用xargs的解法:
1 | find /var/spool/mqueue -type f -exec rm {} \; |
/var/spool/mqueue是要删除档案的存放资料夹,type -f指的是一般档案,{}的后方可以接其他参数,所以如果指令后方要加入多个参数的话,例如copy 档案 到B资料夹的时候,就可以透过以下指令来做:
1 | find /var/spool/mqueue -type f -exec cp {} ../backup \; |
希望将以下数据:
A
1
B
2
C
3
合并成:
A,1
B,2
C,3
1 | awk '{if(NR%2==0){printf("%s\n",$1)}else{printf("%s,",$1)}}' test |
Chrome和Google其他软件的一个“不显著”区别在——Chrome官网没有独立安装包下载地址,只有一个ChromeSetup。ChromeSetup仅仅是一个下载准备工具,还需要在联网后下载Chrome完整独立安装包。这个和微软的Live组件相似,不但麻烦、不方便备份,而且和国外服务器的联网是一个痛苦的过程。
——————————————————————————–
个人觉得最好不要使用ChromeSetup,除了使用和联网麻烦外:
记得以前是可以直接通过官网链接进入到Chrome独立安装包下载页面,但是不断更新的Chrome现在似乎也看不到独立安装包下载页面了。
偶然一次,从一个Google服务中“误”点击到Chrome的下载页面,发现居然是独立安装包下载页面,特此记录一下:
http://www.google.com/chrome/eula.html?standalone=1&hl=zh-CN