freebsd vmstat结果内容的解释

top是给Linux设计的。在FreeBSD VM里面的Free概念和其他OS完全不同,使用top查看Free内存对于FreeBSD来说可以说没什么意义。正确的方法是看vmstat。 作者:南非蜘蛛 procs memory page disk faults cpu r b w swap free re mf mi po fr de sr f0 s0 s1 s2 in sy cs us sy id 0 0 0 14888 19120 0 4 2 11 10 0 0 0 0 0 8 198 2158 98 11 19 69 SWAP的单位应该是K,不是M。还有两个比较重要的参数是PI、PO,表示内存的调入、调出页面,单位也是K,但是多大值作为一个衡量标准,我也不清楚,不知道是否有经验值。 还有,最好使用vmstat t [n]命令,例如 vmstat 5 5,表示在T(5)秒时间内进行N(5)次采样。如果只使用vmstat,无法反映真正的系统情况,试一下,看看结果就知道了。 procs: r–>在运行队列中等待的进程数 b–>在等待io的进程数 w–>可以进入运行队列但被替换的进程 memoy swap–>现时可用的交换内存(k表示) free–>空闲的内存(k表示) pages re--》回收的页面 mf--》非严重错误的页面 pi--》进入页面数(k表示) po--》出页面数(k表示) fr--》空余的页面数(k表示) de--》提前读入的页面中的未命中数 sr--》通过时钟算法扫描的页面...

2009-03-29 · 1 分钟 · admin

MySQL 語法 詳細執行時間 與 CPU/記憶體使用

查看 MySQL 語法 詳細執行時間 與 CPU/記憶體使用量: MySQL Query Profiler MySQL 的 SQL 語法調整主要都是使用 EXPLAIN, 但是這個並沒辦法知道詳細的 Ram(Memory)/CPU 等使用量. 於 MySQL 5.0.37 以上開始支援 MySQL Query Profiler, 可以查詢到此 SQL 會執行多少時間, 並看出 CPU/Memory 使用量, 執行過程中 System lock, Table lock 花多少時間等等. MySQL Query Profile 詳細介紹可見: Using the New MySQL Query Profiler (2007.04.05 發表) 效能分析主要分下述三種(轉載自上篇): Bottleneck analysis - focuses on answering the questions: What is my database server waiting on; what is a user connection waiting on; what is a piece of SQL code waiting on?...

2009-03-28 · 4 分钟 · admin

Nginx + PHP mysql_pconnect = Database errors (Too many connections)

If you’re using NGinx spawn-cgi or FPM with PHP and calling mysql_pconnect, you are likely going to experience frequent database crashes and “Too many connections” errors. This took a while to trace, but once you understand the issue, it all makes sense. mysql_pconnect opens a “persistent” connection to the database. From the documentation: “the connection to the SQL server will not be closed when the execution of the script ends. Instead, the link will remain open for future use (mysql_close() will not close links established by mysql_pconnect())....

2009-03-28 · 2 分钟 · admin

Installing MySQL 5.1 on FreeBSD

This step by step tutorial is everything you need to install MySQL 5.1 (from source) on a virgin FreeBSD 4.x - 7.x machine. Step 1: Install wget cd /usr/ports/ftp/wget make make install Step 2: Download MySQL 5.1 source code mkdir /usr/tmp cd /usr/tmp wget "http://dev.mysql.com/get/Downloads/MySQL-5.1/mysql-5.1.24-rc.tar.gz/from/http://mysql.he.net/" tar xvzf mysql-5.1.24-rc.tar.gz Step 3: Create mysql user adduser Follow the prompts to create a mysql user and mysql group with a default directory of /usr/local/mysql...

2009-03-28 · 3 分钟 · admin

tar zxfk filename.tar.gz -k,--keep-old-files 不覆盖已存在文件

版权声明:可以任意转载,转载时请务必以超链接形式标明文章原始出处和作者信息及本声明。 http://windtear.net/archives/2005/09/22/000777.html 倒数据当然推荐rsync 不过当文件数超级多 或者网络条件等不具备时 tar 打包就是首选了 数据运到目的地后 解包时需要注意别覆盖 tar 工具的 -k 参数就提供干这事 -k,–keep-old-files 不覆盖已存在文件 -k, --keep-old-files keep existing files; don't overwrite them from archive 如: tar zxfk filename.tar.gz

2009-03-26 · 1 分钟 · admin

tar命令详解 (推荐)

tar [-cxtzjvfpPN] 文件与目录 … 参数: -c :建立一个压缩文件的参数指令(create 的意思); -x :解开一个压缩文件的参数指令! -t :查看 tarfile 里面的文件! 特别注意,在参数的下达中, c/x/t 仅能存在一个!不可同时存在!因为不可能同时压缩与解压缩。 -z :是否同时具有 gzip 的属性?亦即是否需要用 gzip 压缩? -j :是否同时具有 bzip2 的属性?亦即是否需要用 bzip2 压缩? -v :压缩的过程中显示文件!这个常用,但不建议用在背景执行过程! -f :使用档名,请留意,在 f 之后要立即接档名喔!不要再加参数! 例如使用『 tar -zcvfP tfile sfile』就是错误的写法,要写成『 tar -zcvPf tfile sfile』才对喔! -p :使用原文件的原来属性(属性不会依据使用者而变) -P :可以使用绝对路径来压缩! -N :比后面接的日期(yyyy/mm/dd)还要新的才会被打包进新建的文件中! –exclude FILE:在压缩的过程中,不要将 FILE 打包! 范例: 范例一:将整个 /etc 目录下的文件全部打包成为 /tmp/etc.tar [root@linux ~]# tar -cvf /tmp/etc.tar /etc <==仅打包,不压缩! [root@linux ~]# tar -zcvf /tmp/etc....

2009-03-26 · 2 分钟 · admin

cp 命令

cp [-R [-H | -L | -P]] [-f | -i | -n] [-alpv] source_file target_file cp [-R [-H | -L | -P]] [-f | -i | -n] [-alpv] source_file … target_directory -i 覆盖确认 -n 覆盖不确认 -v 显示详情 -R 全部目录 -p 权限和source_file 一样 其它的暂时没用到,先写到这里

2009-03-26 · 1 分钟 · admin

FreeBSD常见问题集合

1.如何使用脚本获得PID 参见脚本pid.sh, 如下: $ cat pid.sh #!/bin/sh pid=`ps -aux | grep $1 | grep -v grep | awk '{print $2}'` echo $pid < $1.pid $./pid.sh sshd 将文件名从大写转换为小写 参见脚本mklower.sh, 如下: #!/bin/sh for file in $1; do newfile=`echo "$file" | tr "[:upper:]" "[:lower:]"` mv "$file" "$newfile" done $ mklower.sh *.JPG 子目录按大小排序 $du -s * | sort -n ls显示颜色 $ls -G #显示属性颜色 $ls -F #显示属性字符 $ls -FG 快速安装package 你可以先设定 PACKAGEROOT,指定用该站点的package,安装时自动寻找对应pakage,而且你不需要知道版本,只要知道package名称即可,会自动安装package的最新版,中文的部分只要加上 zh-,像是 zh-xcin。 # setenv PACKAGEROOT ftp://ftp....

2009-03-25 · 1 分钟 · admin

如何将FreeBSD复制到另一颗硬盘 ?

如何将Linux或FreeBSD复制到另一颗硬盘 ? Linux上的系统复制很简单,使用cp -ax将partition资料复制过去,重开机後设定lilo就可以了。 FreeBSD也可以用cp来复制文档,但是对于复制整个文档系统并不是好方法。 这里介绍使用dump和restore来做: 创建新的文档系统 假如你的新硬盘为ad1, 而将来的根分区将是ad1s1a, 你可以先创建文档系统: newfs /dev/ad1s1a mount /dev/ad1s1a /mnt cd /mnt 复制: dump -f- / | restore -f- -r 这是把老的根文档系统复制输出到管道,restore从管道里读数据,写入当前目录所在的文档系统。 按部就班复制其他文档系统 复制完後,也许 要修改新硬盘下的/etc/fstab,安装上新的分区,摘下老硬盘就可以了。 再补充一点,如果你要复制的是另外一台机器,可以用rsh,这样就可以通过网络把一个分区数据传送到另外一台机器,不需要NFS,不需SAMBA等就可以解决问题,而cp就很难作到了。 newfs /dev/ad1s1a mount /dev/ad1s1a /mnt cd /mnt rsh -l yourname thathost ‘dump -f- /’ | restore -f- -r http://www.cnblogs.com/znuwcj/archive/2006/08/22/483583.aspx

2009-03-25 · 1 分钟 · admin

fsck命令详解

功能说明:检查文件系统并尝试修复错误。 语 法:fsck [-aANPrRsTV][-t <文件系统类型>][文件系统…] 补充说明:当文件系统发生错误四化,可用fsck指令尝试加以修复。 参 数: -a 自动修复文件系统,不询问任何问题。 -A 依照/etc/fstab配置文件的内容,检查文件内所列的全部文件系统。 -N 不执行指令,仅列出实际执行会进行的动作。 -P 当搭配”-A”参数使用时,则会同时检查所有的文件系统。 -r 采用互动模式,在执行修复时询问问题,让用户得以确认并决定处理方式。 -R 当搭配”-A”参数使用时,则会略过/目录的文件系统不予检查。 -s 依序执行检查作业,而非同时执行。 -t<文件系统类型> 指定要检查的文件系统类型。 -T 执行fsck指令时,不显示标题信息。 -V 显示指令执行过程。 例子 : 检查 msdos 档案系统的 /dev/hda5 是否正常,如果有异常便自动修复 : fsck -t msdos -a /dev/hda5 注意 : 此指令可与 /etc/fstab 相互参考操作来加以了解。 运行fsck命令后产生的文件有什么用? 当执行fsck命令时,fsck命令如果发现存在孤立的文件或目录,这些孤立的文件或目录对于系统管理员或用户来说,无法访问到它,因为它与它的上级 目录失去了关联,如果用户允许fsck重新把它们找回来的话,fsck命令就会把这些孤立的文件或目录放在文件系统的/lost+found目录下,并用 各自的i-node号来命名,以便用户查找自己需要的文件。Lost+found目录通过它的英文含义我们都可以知道,它是一个失物认领处。 因此当某个用户发现自己丢失了某个文件,可以在执行fsck之后到/lost+found目录下去查找,这时通过文件名已无法辨认出文件的作用,只能 用file之类的命令来确定文件的类型,如果是数据文件,可以用more或vi命令来查看,如果是二进制文件,可以用dbx命令来调试或者试着执行它(注 意它可能是一个具有破坏性的程序),知道文件或目录的作用之后,可以对其进行改名。 如果用户不允许fsck把这些孤立的文件或目录找回来,那么fsck命令就会破坏这些文件或目录,彻底丢失这些文件或目录,用户或系统管理员永远也无法找回它们。 原文 http://hi.baidu.com/blvm/blog/item/7b7c95c46b61a6ad8226acf4.html

2009-03-25 · 1 分钟 · admin

freebsd系统一启动就进入单用户模式

提示大概和下面一样 /dev/ad0s1a:File System Clean;Skipping Checks /dev/ados1a:Clean,480970 free(226 frags,60093 blocks,0.0% fragmentation) /dev/ados1e:DEFER FOR BACKGROUND CHECKING /dev/ados1f:DEFER FOR BACKGROUND CHECKING ad0:FAILURE -READ_DMA status=51 error=40 LBA=3306739 /dev/ad0s1d:CANNOT READ BLK:160948 /dev/ad0s1d:UNEXPECTED SOFT UPDATE INCONSISTENCY;RUN fsck MANUALLY. THE FOLLOWING FILE SYSTEM HAD AN UNEXPECTED INCONSISTENCY: usf:/dev/ados1d(/usr) Automatic file system check failed;help! OCT 24 19:18:42 init:/bin/sh on /etc/rc terminated abnormally,going to single use mode Enter full pathname of shell or RETURN for /bin/sh: #################### 原因:文件系统崩溃了,各分区损坏 解决方法:...

2009-03-25 · 2 分钟 · admin

试析FreeBSD 6.2 的rc脚本系统

杜比环绕声 http://blog.chinaunix.net/u/12258/showart_292352.html 一、从mysql的启动脚本说起 配置mysql的时候,如果需要启动运行 mysql server,按照 mysql 手册上的说明,需要在 /etc/rc.conf 中,添加一条信息: mysql_enable="YES" 这样在重新启动系统的时候,就可以自动运行 mysqlserver. 如果需要运行时,停止 mysqlserver 或者重新启动 mysqlserver,可以使用下面的命令: 停止mysqlserver: shell>/usr/local/etc/rc.d/mysql-server stop 重新启动mysqlserver: shell>/usr/local/etc/rc.d/mysql-server restart 其实无论是mysqlserver还是apache等系统服务,都可以利用上面提到的参数“stop“,”restart“等进行程序维护 这属于FreeBSD系统rc脚本系统的具体应用。 FreeBSD的rc脚本系统在服务程序的管理上,主要是体现在 /etc/rc.d 和 /usr/local/etc/rc.d 这两个目录下的可执行脚本,系统级别的服务程序的脚本大都安装在 /etc/rc.d目录下,而用户级别的服务程序的脚本都安装在 /usr/local/etc/rc.d 目录下。如 mysql server 在安装的时候会在 /usr/local/etc/rc.d目录下安装一个 mysql-server 的脚本文件。 服务程序的管理,其实运行的就是对应的脚本文件。如上面举例的停止服务,重新启动服务,运行的都是mysql-server脚本。 二、mysql-server 启动脚本的说明 下面的脚本代码是freebsd 6.2中mysqlserver 5.0的启动脚本。具体的功能在脚本代码中注释! #!/bin/sh $FreeBSD: ports/databases/mysql50-server/files/mysql-server.sh.in,v 1.3 2006/03/07 16:25:00 ale Exp $ #下面这部分文本描述了可以在rc.conf中设置、添加的启动条目,用来控制mysqlserver启动的一些具体细节。 PROVIDE: mysql REQUIRE: LOGIN KEYWORD: shutdown Add the following line to /etc/rc.conf to enable mysql: mysql_enable (bool): Set to “NO” by default....

2009-03-25 · 4 分钟 · admin

mysql 压力测试结果

freebsd 7.0 amd64 mysqlslap -a --concurrency=5,10,20,50,150 --number-of-queries 100000 --debug-info Benchmark Average number of seconds to run all queries: 766.733 seconds Minimum number of seconds to run all queries: 766.733 seconds Maximum number of seconds to run all queries: 766.733 seconds Number of clients running queries: 5 Average number of queries per client: 20000 Benchmark Average number of seconds to run all queries: 820.050 seconds Minimum number of seconds to run all queries: 820....

2009-03-25 · 2 分钟 · admin

关于Nginx+PHP fastcgi 胜过Apache十倍 自己验证

记得自己每一次知道nginx 还是在 群里讨论张老师的文章 他的最新文章 Nginx 0.7.x + PHP 5.2.8(FastCGI)搭建胜过Apache十倍的Web服务器(第4版)[原创] http://blog.s135.com/post/366/ 我自己是在 freebsd 7.0服务器上 硬件配置 Intel(R) Xeon(R) CPU E5410 @ 2.33GHz *2 内存 4G sas 146 * 2 raid1 基本和张老师的配置差不多, nginx 配置 user www www; worker_processes 8; #error_log logs/error.log; #error_log logs/error.log notice; #error_log logs/error.log info; #pid logs/nginx.pid; worker_rlimit_nofile 200000; events { worker_connections 200000; #use kqueue; } php-cgi 开启 128 进程 实际结果, nginx 也许处理静态页面可以达到3W并发,但是如是果php 得估计不行,我自己用 webbench 开起1W连接,本机差点没死,但此时 php页面打开已经相当的慢了,但status 速度仍然很快,说明nginx 的承载能力确实很强,但php处理这块依然是最大的瓶颈,此文只是本人自己测试,也许是本本配置系统有问题,导致达不到3W并发!

2009-03-25 · 1 分钟 · admin

FreeBSD环境下的Lighttpd 参数配置与性能优化

简单说一下:Lighttpd是一个轻量级的Web 服务器,支持FastCGI, CGI, Auth, 输出压缩(output compress), URL重写, Alias等重要功能。它具有非常低的内存开销,cpu占用率低,效能好,以及丰富的模块等特点。其静态文件的响应能力远高于Apache,可谓Web服务器的后期之秀。 许多技术专家认为,在Web 服务器中Lighttpd比Apache更小更轻量,却拥有比后者更高的性能。虽然Lighttpd在Web服务器方面只占很小的市场份额,“但它正极速增长,日后必将是Web服务器领域的有力竞争者。” 针对我们的普遍应用情况下,对配置文件进行一些修改。Time per request: 能达到0.65 [ms]左右相对于以前测的0.734[ms]左右,性能有很大提高。如果有大量的时间对每个性能指标进行测试,去掉不必要的模块和特性,应该在性能上还会有所提高,估计最好能到0.61[ms]左右。最近测试如下: lighttpd 配置文件:去掉了很多不必要的特性。 #######lighttpd.conf. server.port = 7983 , server.modules = ("mod_access") server.document-root = "/usr/home/yangjian/lighttpd/doc/" server.pid-file = "/usr/home/yangjian/lighttpd/lighttpd.pid" mimetype.assign = ( ".html" => "text/html", ".js" => "text/javascript", ) server.max-keep-alive-requests =4000 dir-listing.activate = “disable” LiteSpeed的测试都是在默认配置下。它的结果不太稳定,最好的记录是0.603ms,这是lighttpd所没有过的好成绩,但大多数情况下都在 0.70左右,有好多次在0.76以上。我这里说的都是LiteSpeed的标准版,pro版是要花钱的性能当然要好些。LiteSpeed是同过web 管理的,这是它的一个比较好的特性。如果经过优化我想它和lighttpd应该还是不差上下的。 我暂时先选择相对稳定点的lighttpd作为我们的web server,然后对它的配置和优化进行说明。Lighttpd配置文件很简单,相信大家配过apache的都能看明白。我就只对影响性能的指标挑出来讨论。参考文章http://www.lighttpd.net/documentation 可以看出我上面的那个配置文件非常简短。我去掉了所有不必要的特性。添加的模块只有mod_access,如果没有它访问是就会出现403错误。除了它之外系统默认启用的模块有 mod_indexfiles ,mod_dirlisting, mod_staticfile。但在默认已经编译进去的模块清单如下: 对于这些已经编译进去的在启用时就非常简单了,enable一下就ok了。Lighttpd想添加一个功能一般情况下只需要添加一两行指令到配置文件中,比apache易配置多了。 Plugins: enabled: mod_access mod_accesslog mod_alias mod_auth mod_cgi mod_compress mod_dirlisting mod_evhost mod_expire mod_fastcgi mod_indexfiles mod_proxy mod_rrdtool mod_scgi mod_secdownload mod_setenv mod_simple_vhost mod_staticfile mod_status mod_userdir mod_usertrack mod_webdav disabled: mod_cml mod_mysql_vhost mod_redirect mod_rewrite...

2009-03-25 · 2 分钟 · admin