October 20, 2011
FreeBSD下的fsck命令
"\u003cp\u003e对文件系统进行检查,并对损害的文件系统进行修复。\n\u003cstrong\u003efsck的语法如下:\u003c/strong\u003e\nfsck (-F fstype) (-v) (-m) (-special…)\nfsck (-F fstype) (-v) (-y|Y|n|N)\n(-o fstype options) (special…)\n其中:\n-F fstype : 说明被检查的文件系统的类型\n-v : 返回完成的命令行,但不运行\n-y|Y: 对所有问题均回答Yes\n-n|N: 对所有问题均回答No\n-m: 对文件系统进行检查,不修复文件系统,\n如果文件系统经检查后是可安装的,则显示\nufs fsck : sanity check : /dev/rdsk/c0t0d0s0 okay.\n-o: 文件系统类型选项,选项由逗号分隔,\u003c/p\u003e\n\u003cp\u003e**最常用的选项有两个: **\nP: 整理(preen)模式\nF: 强制检查模式,此选项忽略文件系统状态标志。\u003c/p\u003e\n\u003col\u003e\n\u003cli\u003e移去一个没有相关文件的目录入口 答Yes或Y来删除该目录入口\u003c/li\u003e\n\u003cli\u003e重连接一个已分配但不能访问的文件\n对fsck的”RECONNECT?”回答Yes,即把该I节点连接到lost+found目录下,文件名即是I …\u003c/li\u003e\u003c/ol\u003e"
October 19, 2011
遍历memcache中的key和value
"\u003cp\u003e\u003cstrong\u003e什么是\u003c/strong\u003e \u003cstrong\u003ememcache\u003c/strong\u003e\u003c/p\u003e\n\u003cp\u003ememcache是一个高性能的分布式的内存对象缓存系统,通过在内存里维护一个统一的巨大的hash表,它能够用来存储各种格式的数据,包括图像、视频、文件以及数据库检索的结果等。Memcache是danga.com的一个项目,最早是为 LiveJournal 服务的,最初为了加速 LiveJournal 访问速度而开发的,后来被很多大型的网站采用。目前全世界不少人使用这个缓存项目来构建自己大负载的网站,来分担数据库的压力。\u003c/p\u003e\n\u003cp\u003e\u003cstrong\u003e为什么要遍历\u003c/strong\u003e\u003c/p\u003e\n\u003cp\u003e目前,用到memcache的公司和网站也越来越多。Memcache的客户端操作一般都只提供了get,set等简单的操作,这些操作都是非常高效的。 虽然memcache是个key-value存储的系统,但是在某些时候,我们可能需要遍历memcache的数据。\u003c/p\u003e\n\u003cp\u003e通过使用memcache 内置方法Memcache::getExtendedStats,首先获得items信息。\u003c/p\u003e\n\u003cp\u003e最后得到的解决类似与\u003c/p\u003e\n\u003cpre tabindex=\"0\"\u003e\u003ccode\u003e\u0026lt;php\n$memcache = new Memcache();\n$all_items = …\u003c/code\u003e\u003c/pre\u003e"
October 19, 2011
memcache的addServer的故障转移机制
"\u003cp\u003e如果有多台memcached服务器端(当然其他支持memcache协议的服务前端都可以,比如Tokyo Tyrant),最好使用$memcache-\u0026gt;addServer 来连接服务前端。\u003c/p\u003e\n\u003cp\u003e\u003cstrong\u003e连接示例:\u003c/strong\u003e\u003c/p\u003e\n\u003cpre tabindex=\"0\"\u003e\u003ccode\u003e$mem_conf = array(\n array(\u0026#39;host\u0026#39;=\u0026gt;\u0026#39;192.168.0.11\u0026#39;, \u0026#39;port\u0026#39;=\u0026gt;\u0026#39;11211\u0026#39;),\n array(\u0026#39;host\u0026#39;=\u0026gt;\u0026#39;192.168.0.12\u0026#39;, \u0026#39;port\u0026#39;=\u0026gt;\u0026#39;11211\u0026#39;),\n array(\u0026#39;host\u0026#39;=\u0026gt;\u0026#39;192.168.0.13\u0026#39;, \u0026#39;port\u0026#39;=\u0026gt;\u0026#39;11211\u0026#39;)\n);\n\n$memcache = new Memcache ( );\nforeach ( $mem_conf as $v ) {\n $memcache-\u0026gt;addServer ( $v …\u003c/code\u003e\u003c/pre\u003e"
October 19, 2011
FreeBSD如何查看当前网络带宽占用情况?默认值CPU 硬盘IO 虚拟内存命令
"\u003cp\u003esystat 能实时查看各种信息\nsystat -pigs 默认值CPU\nsystat -iostat 硬盘IO\nsystat -swap 交换分区\nsystat -mbufs 网络缓冲区\nsystat -vmstat 虚拟内存\nsystat -netstat 网络\nsystat -icmp ICMP协议\nsystat -ip IP协议\nsystat -tcp TCP协议\nsystat -ifstat 网卡\u003c/p\u003e\n\u003cp\u003e显示PCI总线设备信息\npciconf -lv\n显示内核加载的模块\nkldstat -v\n显示指定模块\nklsdstat -m ipfilter\u003c/p\u003e\n\u003cp\u003e即插即用设备\npnpinfo\u003c/p\u003e\n\u003cp\u003e显示设备占用的IRQ和内存地址\ndevinfo -u\u003c/p\u003e\n\u003cp\u003ecpu\nsysctl -a|grep cpu\nsysctl -a|grep sched 查看使用的调度器,我编译的是ULE\u003c/p\u003e\n\u003cp\u003e虚拟内存\nvmstat\u003c/p\u003e\n\u003cp\u003e硬盘\ngstat\nsystat -iostat\niostat\u003c/p\u003e\n\u003cp\u003e网卡\nifconfig\nsystat -ifstat\u003c/p\u003e\n\u003cp\u003e网络\nnetstat\nsockstat\ntcpdump\ntrafshow\nsystat …\u003c/p\u003e"
October 18, 2011
Linux性能测试工具Lmbench介绍和使用说明
"\u003cp\u003eLinux性能测试工具Lmbench是一套简易可移植的,符合ANSI/C标准为UNIX/POSIX而制定的微型测评工具。一般来说,它衡量两个关键特征:反应时间和带宽。Lmbench旨在使系统开发者深入了解关键操作的基础成本。\u003c/p\u003e\n\u003cp\u003e\u003cstrong\u003e1、Lmbench的使用与介绍\u003c/strong\u003e\u003c/p\u003e\n\u003cp\u003eLinux性能测试工具Lmbench是一套简易可移植的,符合ANSI/C标准为UNIX/POSIX而制定的微型测评工具。一般来说,它衡量两个关键特征:反应时间和带宽。Lmbench旨在使系统开发者深入了解关键操作的基础成本。其官方网站是:http://www.bitmover.com/lmbench/。\n\u003cstrong\u003e2、Lmbench主要功能\u003c/strong\u003e\n带宽测评工具反应时间测评工具其他读取缓存文件\n拷贝内存\n读内存\n写内存\n管道\nTCP上下文切换\n网络:连接的建立,管道,TCP,UDP和RPChotpotato\n文件系统的建立和删除\n进程创建\n信号处理\n上层的系统调用\n内存读入反应时间处理器时钟比率计算\u003c/p\u003e\n\u003cp\u003e\u003cstrong\u003e3、Linux性能测试工具Lmbench主要特性\u003c/strong\u003e\na)对于操作系统的可移植性测试:评测工具是由C语言编写的,具有较好的可移植性(尽管它们更易于被GCC编 …\u003c/p\u003e"
October 17, 2011
如何更改windows的远程桌面3389端口
"\u003cp\u003e共修改两个地方\u003c/p\u003e\n\u003cp\u003e1:打开“开始→运行”,输入“regedit”,打开注册表,进入以下路径:\u003c/p\u003e\n\u003cblockquote\u003e\n\u003cp\u003e[HKEY_LOCAL_MACHINE\\SYSTEM\\CurrentControlSet\\Control\\Terminal Server\\Wds\\rdpwd\\Tds\\tcp]\u003c/p\u003e\u003c/blockquote\u003e\n\u003cp\u003e看见PortNamber值了吗?其默认值是3389,修改成所希望的端口即可,例如6111。\n2:再打开\u003c/p\u003e\n\u003cblockquote\u003e\n\u003cp\u003e[HKEY_LOCAL_MACHINE\\SYSTEM\\CurrentContro1Set\\Control\\Tenninal Server\\WinStations\\RDP-Tcp]\u003c/p\u003e\u003c/blockquote\u003e\n\u003cp\u003e将PortNumber的值(默认是3389)修改成端口6111。\u003c/p\u003e\n\u003cp\u003e此修改只有重启服务器才可以生效.\u003c/p\u003e"
October 17, 2011
FreeBSD下查看物理内存大小
"\u003cp\u003e\u003cstrong\u003e法一:\u003c/strong\u003e\u003c/p\u003e\n\u003cpre tabindex=\"0\"\u003e\u003ccode\u003e[root@www ~]# cat /var/run/dmesg.boot | grep memory\nreal memory = 2147483648 (2048 MB)\navail memory = 2091028480 (1994 MB)\n\u003c/code\u003e\u003c/pre\u003e\u003cp\u003e\u003cstrong\u003e法二:\u003c/strong\u003e\u003c/p\u003e\n\u003cpre tabindex=\"0\"\u003e\u003ccode\u003e[root@www ~]# sysctl -a | grep hw.physmem\nhw.physmem: 2134253568\n\u003c/code\u003e\u003c/pre\u003e\u003cp\u003e第二个命令和第一个命令有些差别,这个基本上可以忽略.换成MB的话,基本上也是2G的\u003c/p\u003e"
October 13, 2011
SecureCRT远程ssh使VIM语法加亮
"\u003cp\u003e使用SecureCRT登录linux服务器用VIM时显示彩色语法高亮的方法\u003c/p\u003e\n\u003cp\u003e1:在$HOME 目录下 vim ~/.vimrc 建立一个文件\n2:在最后面添两句:syntax on 和 set nocp ,然后保存\n3:在SecureCRT中设置 选项-\u0026gt;会话选项-\u0026gt;终端-\u0026gt;仿真-\u0026gt;终端:Linux\n4:重新登录linux服务器,打开 vim,现在就可自动对语法进行加亮了。\u003c/p\u003e\n\u003cp\u003e\u003ca href=\"http://blog.haohtml.com/wp-content/uploads/2011/10/vim.jpg\"\u003e\u003cimg src=\"http://blog.haohtml.com/wp-content/uploads/2011/10/vim.jpg\" alt=\"\"\u003e\u003c/a\u003e\u003c/p\u003e"
October 13, 2011
CentOS 5下Memcached安装
"\u003cp\u003e参考前面的教程:安装了lnmp环境,这里要安装memcached.但在编译的时候提示需要指定libevent库,可是在安装lnmp的候默认是已经安装过的.解决办法如下:\u003c/p\u003e\n\u003cp\u003ememcached需要libevent支持,所以首先安装libevent\u003c/p\u003e\n\u003cp\u003e查看系统是否已经安装libevent\u003c/p\u003e\n\u003cblockquote\u003e\n\u003cp\u003e# rpm -qa|grep libevent\u003c/p\u003e\u003c/blockquote\u003e\n\u003cp\u003e如果有,不要高兴,先升级\u003c/p\u003e\n\u003cblockquote\u003e\n\u003cp\u003e#yum -y install libevent libevent-devel\u003c/p\u003e\u003c/blockquote\u003e\n\u003cp\u003e测试libevent是不是已经安装成功\u003c/p\u003e\n\u003cblockquote\u003e\n\u003cp\u003e#ls -al /usr/lib | grep libevent\u003c/p\u003e\u003c/blockquote\u003e\n\u003cp\u003e可以看到多个已经安装的类包 \u003cstrong\u003e安装memcached( \u003ca href=\"http://memcached.org/\"\u003ehttp://memcached.org/\u003c/a\u003e)\u003c/strong\u003e\u003c/p\u003e\n\u003cp\u003e可以先查看编译参数\u003c/p\u003e\n\u003cblockquote\u003e\n\u003c/blockquote\u003e\n\u003cblockquote\u003e\n\u003cp\u003e[shell]wget http://memcached.googlecode.com/files/memcached-1.4.15.tar.gz\u003c/p\u003e\u003c/blockquote\u003e\n\u003cp\u003etar zxvf memcached-1.4.15.tar.gz\u003c/p\u003e\n\u003cp\u003ecd memcached-1.4.15\u003c/p\u003e\n\u003cp\u003e./configure –help\u003c/p\u003e\n\u003cp\u003e./configure …\u003c/p\u003e"
October 13, 2011
mysql主从复制中出现"Relay log read failure…”错误信息的解决办法[教程]
"\u003cp\u003e今天我的服务器突然停止复制了。因为对这块不是很熟悉,就上网学习了一下,发现了一篇好文章。不敢独享,\u003c/p\u003e\n\u003cp\u003e和大家来分享一下。\u003c/p\u003e\n\u003cp\u003e众所周知MySQL5.1的Replication是比较烂的。MySQL的每一个版本更新关于同步方面每次都是可以看到一大堆。但MySQL 5.1性能是比较突出的。所以经不住诱惑使用MySQL 5.1。所以也要经常遇到一些Bug。如:\u003c/p\u003e\n\u003cpre tabindex=\"0\"\u003e\u003ccode\u003emysql\u0026gt; show slave status\\G\n\n*************************** 1. row ***************************\n Slave_IO_State: Waiting for master to send event\n Master_Host: 192.168.10.118\n Master_User: repl_wu\n Master_Port: 3306\n Connect_Retry: 30 …\u003c/code\u003e\u003c/pre\u003e"
October 9, 2011
device 0 has different MAC address than expected 的解决办法
"\u003cp\u003e今天克隆了一份vm(centos),发现重启网卡的时候提示”device 0 has different MAC address than expected…”之类的错误,手动修改mac地址也不行.后来找到一种解决办法如下:\u003c/p\u003e\n\u003cp\u003e删除 HWADDR 一行,然后执行ifconfig和service network restart命令.然后用ifconfig命令查看就会发现已经可以正常使用了.\u003c/p\u003e\n\u003cp\u003e不过在eth0文件里HWADDR这一行系统并没有自动添加上的.\u003c/p\u003e"
October 8, 2011
兼容各浏览器的css透明样式写法
"\u003cp\u003e#snake{\nbackgournd: #666;\nfilter:alpha(opacity=50); /*IE*/\n-moz-opacity:0.5; /*MOZ , FF*/\nopacity:0.5; /\u003cem\u003eCSS3, FF1.5\u003c/em\u003e/\u003c/p\u003e\n\u003cp\u003e}\u003c/p\u003e"
September 29, 2011
MySQL技术内幕:InnoDB存储-3.6 InnoDB存储引擎文件
"\u003cp\u003e官方教程: \u003ca href=\"http://dev.mysql.com/doc/refman/5.1/zh/storage-engines.html#innodb\"\u003ehttp://dev.mysql.com/doc/refman/5.1/zh/storage-engines.html#innodb\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003e3.6 InnoDB存储引擎文件\u003c/p\u003e\n\u003cp\u003e之前介绍的文件都是MySQL数据库本身的文件,和存储引擎无关。除了这些文件外,每个表存储引擎还有其自己独有的文件。这一节将具体介绍和InnoDB存储引擎密切相关的文件,这些文件包括重做日志文件、表空间文件。\u003c/p\u003e\n\u003cp\u003e\u003cstrong\u003e3.6.1 表空间文件\u003c/strong\u003e\u003c/p\u003e\n\u003cp\u003eInnoDB存储引擎在存储设计上模仿了Oracle,将存储的数据按表空间进行存放。默认配置下,会有一个初始化大小为10MB、名为ibdata1的文件。该文件就是默认的表空间文件(tablespace file)。你可以通过参数innodb_data_file_path对其进行设置。格式如下:\u003c/p\u003e\n\u003cblockquote\u003e\n\u003c/blockquote\u003e\n\u003cblockquote\u003e\n\u003cp\u003einnodb_data_file_path=datafile_spec1[;datafile_spec2]…\u003c/p\u003e\u003c/blockquote\u003e\n\u003cp\u003e你也可以用多个文件组成一个表空间,同时制定文件的属性,如:\u003c/p\u003e\n\u003cblockquote\u003e\n\u003c/blockquote\u003e\n\u003cblockquote\u003e\n\u003cp\u003e[mysqld]\u003c/p\u003e\u003c/blockquote\u003e\n\u003cp\u003einnodb_data_file_path = …\u003c/p\u003e"
September 29, 2011
CentOS5.5关闭sendmail服务【开机此处太慢】
"\u003cp\u003esendmail服务在系统启用的时候特别的慢,平时用的也不多的,所以为了安全直接将此服务关闭.并加速机器启用速度.\u003c/p\u003e\n\u003cp\u003e\u003cstrong\u003e1,关闭sendmail服务\u003c/strong\u003e\u003c/p\u003e\n\u003cp\u003e/etc/rc.d/init.d/sendmail stop\u003c/p\u003e\n\u003cp\u003eShutting down sendmail: [ OK ]\nShutting down sm-client: [ OK ]\u003c/p\u003e\n\u003cp\u003e\u003cstrong\u003e2,关闭sendmail自启动\u003c/strong\u003e\u003c/p\u003e\n\u003cp\u003e[root@lsp ~]# chkconfig sendmail off\u003c/p\u003e\n\u003cp\u003e\u003cstrong\u003e3,确认sendmail自启动已被关闭(都为off就OK)\u003c/strong\u003e\u003c/p\u003e\n\u003cp\u003e[root@lsp ~]# chkconfig –list sendmail\u003c/p\u003e\n\u003cp\u003esendmail 0:off 1:off 2:off 3:off 4:off 5:off 6:off\u003c/p\u003e\n\u003cp\u003e————–\u003c/p\u003e\n\u003cp\u003echkconfig –list 可以用来查看所有的服务\u003c/p\u003e\n\u003cp\u003e如果提示chkconfig命令找不到,可使用/sbin/chkconfig的形式\u003c/p\u003e"
September 29, 2011
升级centos5.6到centos6.0
"\u003cp\u003e切记升级系统前,请务必备份重要文件!\u003c/p\u003e\n\u003cp\u003e\u003cstrong\u003e首先,清除所有软件包\u003c/strong\u003e\u003c/p\u003e\n\u003cpre tabindex=\"0\"\u003e\u003ccode\u003eyum clean all\nyum list updates\n\u003c/code\u003e\u003c/pre\u003e\u003cpre tabindex=\"0\"\u003e\u003ccode\u003e升级centos\nyum update\nreboot\n\u003c/code\u003e\u003c/pre\u003e\u003cp\u003e这样就升级完了,可以检查一下系统目前的版本:\u003c/p\u003e\n\u003cpre tabindex=\"0\"\u003e\u003ccode\u003elsb_release -a\n\u003c/code\u003e\u003c/pre\u003e\u003cp\u003e这样就升级完了,可以检查一下系统目前的版本:\u003c/p\u003e\n\u003cpre tabindex=\"0\"\u003e\u003ccode\u003e#rpm -q centos-release\n\u003c/code\u003e\u003c/pre\u003e"