﻿<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:trackback="http://madskills.com/public/xml/rss/module/trackback/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/"><channel><title>BlogJava-zhangxl_blog-文章分类-linux</title><link>http://www.blogjava.net/zhanglongsr/category/48260.html</link><description>路漫漫其修远兮，吾将上下而求索！</description><language>zh-cn</language><lastBuildDate>Wed, 17 Apr 2013 13:05:26 GMT</lastBuildDate><pubDate>Wed, 17 Apr 2013 13:05:26 GMT</pubDate><ttl>60</ttl><item><title>Linux上的free命令详解(转)</title><link>http://www.blogjava.net/zhanglongsr/articles/397733.html</link><dc:creator>zhangxl</dc:creator><author>zhangxl</author><pubDate>Fri, 12 Apr 2013 03:19:00 GMT</pubDate><guid>http://www.blogjava.net/zhanglongsr/articles/397733.html</guid><wfw:comment>http://www.blogjava.net/zhanglongsr/comments/397733.html</wfw:comment><comments>http://www.blogjava.net/zhanglongsr/articles/397733.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/zhanglongsr/comments/commentRss/397733.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/zhanglongsr/services/trackbacks/397733.html</trackback:ping><description><![CDATA[<p style="padding-bottom: 0px; widows: 2; text-transform: none; background-color: rgb(255,255,255); text-indent: 0px; margin: 10px auto; padding-left: 0px; padding-right: 0px; font: 14px/25px verdana, Arial, Helvetica, sans-serif; white-space: normal; orphans: 2; letter-spacing: normal; color: rgb(51,51,51); word-spacing: 0px; padding-top: 0px; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px">解释一下Linux上free命令的输出。</p>
<p style="padding-bottom: 0px; widows: 2; text-transform: none; background-color: rgb(255,255,255); text-indent: 0px; margin: 10px auto; padding-left: 0px; padding-right: 0px; font: 14px/25px verdana, Arial, Helvetica, sans-serif; white-space: normal; orphans: 2; letter-spacing: normal; color: rgb(51,51,51); word-spacing: 0px; padding-top: 0px; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px">　　下面是free的运行结果，一共有4行。为了方便说明，我加上了列号。这样可以把free的输出看成一个二维数组FO(Free Output)。例如：</p>
<ul style="padding-bottom: 0px; widows: 2; text-transform: none; background-color: rgb(255,255,255); list-style-type: disc; text-indent: 0px; margin: 0px 0px 0px 45px; padding-left: 0px; padding-right: 0px; font: 14px/25px verdana, Arial, Helvetica, sans-serif; white-space: normal; orphans: 2; letter-spacing: normal; color: rgb(51,51,51); word-spacing: 0px; padding-top: 0px; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px"><li style="padding-bottom: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px">FO[2][1] =<span class="Apple-converted-space">&nbsp;</span><span style="padding-bottom: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; color: rgb(0,0,0); padding-top: 0px">24677460</span></li><li style="padding-bottom: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px">FO[3][2] =&nbsp;<span style="padding-bottom: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; color: rgb(0,0,0); padding-top: 0px">10321516&nbsp;&nbsp;</span></li></ul>
<div style="border-bottom: rgb(204,204,204) 1px solid; border-left: rgb(204,204,204) 1px solid; padding-bottom: 5px; widows: 2; text-transform: none; background-color: rgb(245,245,245); font-variant: normal; font-style: normal; text-indent: 0px; margin: 5px 0px; padding-left: 5px; padding-right: 5px; font-family: 'Courier New'; white-space: normal; orphans: 2; letter-spacing: normal; color: rgb(51,51,51); font-size: 12px; overflow: auto; border-top: rgb(204,204,204) 1px solid; font-weight: normal; border-right: rgb(204,204,204) 1px solid; word-spacing: 0px; padding-top: 5px; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px" class="cnblogs_code">
<div style="padding-bottom: 0px; background-color: rgb(245,245,245); margin: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px"><span style="padding-bottom: 0px; line-height: 1.5; margin: 0px; padding-left: 0px; padding-right: 0px; font-family: 'Courier New'; color: rgb(0,0,0); font-size: 12px; padding-top: 0px">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 1&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 2&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 3&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 4&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 5&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 6<br style="padding-bottom: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px" />1&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; total&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; used&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; free&nbsp;&nbsp;&nbsp;&nbsp; shared&nbsp;&nbsp;&nbsp; buffers&nbsp;&nbsp;&nbsp;&nbsp; cached<br style="padding-bottom: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px" />2 Mem:&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 24677460&nbsp;&nbsp; 23276064&nbsp;&nbsp;&nbsp; 1401396&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 0&nbsp;&nbsp;&nbsp;&nbsp; 870540&nbsp;&nbsp; 12084008<br style="padding-bottom: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px" />3 -/+ buffers/cache:&nbsp;&nbsp; 10321516&nbsp;&nbsp; 14355944<br style="padding-bottom: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px" />4 Swap:&nbsp;&nbsp;&nbsp;&nbsp; 25151484&nbsp;&nbsp;&nbsp;&nbsp; 224188&nbsp;&nbsp; 24927296<br style="padding-bottom: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px" /></span></div></div>
<p style="padding-bottom: 0px; widows: 2; text-transform: none; background-color: rgb(255,255,255); text-indent: 0px; margin: 10px auto; padding-left: 0px; padding-right: 0px; font: 14px/25px verdana, Arial, Helvetica, sans-serif; white-space: normal; orphans: 2; letter-spacing: normal; color: rgb(51,51,51); word-spacing: 0px; padding-top: 0px; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px">　　free的输出一共有四行，第四行为交换区的信息，分别是交换的总量（total），使用量（used）和有多少空闲的交换区（free），这个比较清楚，不说太多。</p>
<p style="padding-bottom: 0px; widows: 2; text-transform: none; background-color: rgb(255,255,255); text-indent: 0px; margin: 10px auto; padding-left: 0px; padding-right: 0px; font: 14px/25px verdana, Arial, Helvetica, sans-serif; white-space: normal; orphans: 2; letter-spacing: normal; color: rgb(51,51,51); word-spacing: 0px; padding-top: 0px; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px">　　free输出地第二行和第三行是比较让人迷惑的。这两行都是说明内存使用情况的。第一列是总量（total），第二列是使用量（used），第三列是可用量（free）。</p>
<p style="padding-bottom: 0px; widows: 2; text-transform: none; background-color: rgb(255,255,255); text-indent: 0px; margin: 10px auto; padding-left: 0px; padding-right: 0px; font: 14px/25px verdana, Arial, Helvetica, sans-serif; white-space: normal; orphans: 2; letter-spacing: normal; color: rgb(51,51,51); word-spacing: 0px; padding-top: 0px; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px">　　第一行的输出时从操作系统（OS）来看的。也就是说，从OS的角度来看，计算机上一共有:</p>
<ul style="padding-bottom: 0px; widows: 2; text-transform: none; background-color: rgb(255,255,255); list-style-type: disc; text-indent: 0px; margin: 0px 0px 0px 45px; padding-left: 0px; padding-right: 0px; font: 14px/25px verdana, Arial, Helvetica, sans-serif; white-space: normal; orphans: 2; letter-spacing: normal; color: rgb(51,51,51); word-spacing: 0px; padding-top: 0px; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px"><li style="padding-bottom: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px"><span style="padding-bottom: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; color: rgb(0,0,0); padding-top: 0px">24677460KB</span>（缺省时free的单位为KB）物理内存，即FO[2][1]；</li><li style="padding-bottom: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px">在这些物理内存中有<span style="padding-bottom: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; color: rgb(0,0,0); padding-top: 0px">23276064KB</span>（即FO[2][2]）被使用了；</li><li style="padding-bottom: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px">还用<span style="padding-bottom: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; color: rgb(0,0,0); padding-top: 0px">1401396KB</span>（即FO[2][3]）是可用的；</li></ul>
<p style="padding-bottom: 0px; widows: 2; text-transform: none; background-color: rgb(255,255,255); text-indent: 0px; margin: 10px auto; padding-left: 0px; padding-right: 0px; font: 14px/25px verdana, Arial, Helvetica, sans-serif; white-space: normal; orphans: 2; letter-spacing: normal; color: rgb(51,51,51); word-spacing: 0px; padding-top: 0px; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px">这里得到第一个等式：</p>
<ul style="padding-bottom: 0px; widows: 2; text-transform: none; background-color: rgb(255,255,255); list-style-type: disc; text-indent: 0px; margin: 0px 0px 0px 45px; padding-left: 0px; padding-right: 0px; font: 14px/25px verdana, Arial, Helvetica, sans-serif; white-space: normal; orphans: 2; letter-spacing: normal; color: rgb(51,51,51); word-spacing: 0px; padding-top: 0px; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px"><li style="padding-bottom: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px">FO[2][1] = FO[2][2] + FO[2][3]</li></ul>
<p style="padding-bottom: 0px; widows: 2; text-transform: none; background-color: rgb(255,255,255); text-indent: 0px; margin: 10px auto; padding-left: 0px; padding-right: 0px; font: 14px/25px verdana, Arial, Helvetica, sans-serif; white-space: normal; orphans: 2; letter-spacing: normal; color: rgb(51,51,51); word-spacing: 0px; padding-top: 0px; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px">FO[2][4]表示被几个进程共享的内存的，现在已经deprecated，其值总是0（当然在一些系统上也可能不是0，主要取决于free命令是怎么实现的）。</p>
<p style="padding-bottom: 0px; widows: 2; text-transform: none; background-color: rgb(255,255,255); text-indent: 0px; margin: 10px auto; padding-left: 0px; padding-right: 0px; font: 14px/25px verdana, Arial, Helvetica, sans-serif; white-space: normal; orphans: 2; letter-spacing: normal; color: rgb(51,51,51); word-spacing: 0px; padding-top: 0px; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px">FO[2][5]表示被OS buffer住的内存。FO[2][6]表示被OS cache的内存。在有些时候buffer和cache这两个词经常混用。不过在一些比较低层的软件里是要区分这两个词的，看老外的洋文:</p>
<ul style="padding-bottom: 0px; widows: 2; text-transform: none; background-color: rgb(255,255,255); list-style-type: disc; text-indent: 0px; margin: 0px 0px 0px 45px; padding-left: 0px; padding-right: 0px; font: 14px/25px verdana, Arial, Helvetica, sans-serif; white-space: normal; orphans: 2; letter-spacing: normal; color: rgb(51,51,51); word-spacing: 0px; padding-top: 0px; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px"><li style="padding-bottom: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px"><em style="padding-bottom: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px"><span style="padding-bottom: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; font-size: x-small; padding-top: 0px">A buffer is something that has yet to be "written" to disk.<span class="Apple-converted-space">&nbsp;</span><br style="padding-bottom: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px" /></span></em></li><li style="padding-bottom: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px"><em style="padding-bottom: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px"><span style="padding-bottom: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; font-size: x-small; padding-top: 0px">A cache is something that has been "read" from the disk and stored for later use.</span></em></li></ul>
<p style="padding-bottom: 0px; widows: 2; text-transform: none; background-color: rgb(255,255,255); text-indent: 0px; margin: 10px auto; padding-left: 0px; padding-right: 0px; font: 14px/25px verdana, Arial, Helvetica, sans-serif; white-space: normal; orphans: 2; letter-spacing: normal; color: rgb(51,51,51); word-spacing: 0px; padding-top: 0px; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px">也就是说buffer是用于存放要输出到disk（块设备）的数据的，而cache是存放从disk上读出的数据。这二者是为了提高IO性能的，并由OS管理。</p>
<p style="padding-bottom: 0px; widows: 2; text-transform: none; background-color: rgb(255,255,255); text-indent: 0px; margin: 10px auto; padding-left: 0px; padding-right: 0px; font: 14px/25px verdana, Arial, Helvetica, sans-serif; white-space: normal; orphans: 2; letter-spacing: normal; color: rgb(51,51,51); word-spacing: 0px; padding-top: 0px; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px">Linux和其他成熟的操作系统（例如windows），为了提高IO read的性能，总是要多cache一些数据，这也就是为什么FO[2][6]（cached memory）比较大，而FO[2][3]比较小的原因。我们可以做一个简单的测试:</p>
<ol style="padding-bottom: 0px; widows: 2; text-transform: none; background-color: rgb(255,255,255); text-indent: 0px; margin: 0px; padding-left: 50px; padding-right: 0px; font: 14px/25px verdana, Arial, Helvetica, sans-serif; white-space: normal; orphans: 2; letter-spacing: normal; color: rgb(51,51,51); word-spacing: 0px; padding-top: 0px; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px"><li style="padding-bottom: 0px; list-style-type: decimal; margin: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px">释放掉被系统cache占用的数据； 
<div style="border-bottom: rgb(204,204,204) 1px solid; border-left: rgb(204,204,204) 1px solid; padding-bottom: 5px; background-color: rgb(245,245,245); margin: 5px 0px; padding-left: 5px; padding-right: 5px; font-family: 'Courier New'; font-size: 12px; overflow: auto; border-top: rgb(204,204,204) 1px solid; border-right: rgb(204,204,204) 1px solid; padding-top: 5px" class="cnblogs_code">
<div style="padding-bottom: 0px; background-color: rgb(245,245,245); margin: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px"><span style="padding-bottom: 0px; line-height: 1.5; margin: 0px; padding-left: 0px; padding-right: 0px; font-family: 'Courier New'; color: rgb(0,0,0); font-size: 12px; padding-top: 0px">echo<span class="Apple-converted-space">&nbsp;</span></span><span style="padding-bottom: 0px; line-height: 1.5; margin: 0px; padding-left: 0px; padding-right: 0px; font-family: 'Courier New'; color: rgb(128,0,0); font-size: 12px; padding-top: 0px">3</span><span style="padding-bottom: 0px; line-height: 1.5; margin: 0px; padding-left: 0px; padding-right: 0px; font-family: 'Courier New'; color: rgb(0,0,0); font-size: 12px; padding-top: 0px">&gt;/</span><span style="padding-bottom: 0px; line-height: 1.5; margin: 0px; padding-left: 0px; padding-right: 0px; font-family: 'Courier New'; color: rgb(0,0,0); font-size: 12px; padding-top: 0px">proc</span><span style="padding-bottom: 0px; line-height: 1.5; margin: 0px; padding-left: 0px; padding-right: 0px; font-family: 'Courier New'; color: rgb(0,0,0); font-size: 12px; padding-top: 0px">/</span><span style="padding-bottom: 0px; line-height: 1.5; margin: 0px; padding-left: 0px; padding-right: 0px; font-family: 'Courier New'; color: rgb(0,0,0); font-size: 12px; padding-top: 0px">sys</span><span style="padding-bottom: 0px; line-height: 1.5; margin: 0px; padding-left: 0px; padding-right: 0px; font-family: 'Courier New'; color: rgb(0,0,0); font-size: 12px; padding-top: 0px">/</span><span style="padding-bottom: 0px; line-height: 1.5; margin: 0px; padding-left: 0px; padding-right: 0px; font-family: 'Courier New'; color: rgb(0,0,0); font-size: 12px; padding-top: 0px">vm</span><span style="padding-bottom: 0px; line-height: 1.5; margin: 0px; padding-left: 0px; padding-right: 0px; font-family: 'Courier New'; color: rgb(0,0,0); font-size: 12px; padding-top: 0px">/</span><span style="padding-bottom: 0px; line-height: 1.5; margin: 0px; padding-left: 0px; padding-right: 0px; font-family: 'Courier New'; color: rgb(0,0,0); font-size: 12px; padding-top: 0px">drop_caches</span></div></div>
<p style="padding-bottom: 0px; text-indent: 0px; margin: 10px auto; padding-left: 0px; padding-right: 0px; padding-top: 0px">&nbsp;</p></li><li style="padding-bottom: 0px; list-style-type: decimal; margin: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px">读一个大文件，并记录时间；</li><li style="padding-bottom: 0px; list-style-type: decimal; margin: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px">关闭该文件；</li><li style="padding-bottom: 0px; list-style-type: decimal; margin: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px">重读这个大文件，并记录时间；</li></ol>
<p style="padding-bottom: 0px; widows: 2; text-transform: none; background-color: rgb(255,255,255); text-indent: 0px; margin: 10px auto; padding-left: 0px; padding-right: 0px; font: 14px/25px verdana, Arial, Helvetica, sans-serif; white-space: normal; orphans: 2; letter-spacing: normal; color: rgb(51,51,51); word-spacing: 0px; padding-top: 0px; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px">第二次读应该比第一次快很多。原来我做过一个BerkeleyDB的读操作，大概要读5G的文件，几千万条记录。在我的环境上，第二次读比第一次大概可以快9倍左右。</p>
<p style="padding-bottom: 0px; widows: 2; text-transform: none; background-color: rgb(255,255,255); text-indent: 0px; margin: 10px auto; padding-left: 0px; padding-right: 0px; font: 14px/25px verdana, Arial, Helvetica, sans-serif; white-space: normal; orphans: 2; letter-spacing: normal; color: rgb(51,51,51); word-spacing: 0px; padding-top: 0px; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px">　　free输出的第二行是从一个应用程序的角度看系统内存的使用情况。</p>
<ul style="padding-bottom: 0px; widows: 2; text-transform: none; background-color: rgb(255,255,255); list-style-type: disc; text-indent: 0px; margin: 0px 0px 0px 45px; padding-left: 0px; padding-right: 0px; font: 14px/25px verdana, Arial, Helvetica, sans-serif; white-space: normal; orphans: 2; letter-spacing: normal; color: rgb(51,51,51); word-spacing: 0px; padding-top: 0px; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px"><li style="padding-bottom: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px">对于FO[3][2]，即-<span style="padding-bottom: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; color: rgb(0,0,0); padding-top: 0px">buffers</span><span style="padding-bottom: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; color: rgb(0,0,0); padding-top: 0px">/</span><span style="padding-bottom: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; color: rgb(0,0,0); padding-top: 0px">cache，表示一个应用程序认为系统被用掉多少内存；</span></li><li style="padding-bottom: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px">对于FO[3][3]，即+<span style="padding-bottom: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; color: rgb(0,0,0); padding-top: 0px">buffers</span><span style="padding-bottom: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; color: rgb(0,0,0); padding-top: 0px">/</span><span style="padding-bottom: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; color: rgb(0,0,0); padding-top: 0px">cache，表示一个应用程序认为系统还有多少内存；</span></li></ul>
<p style="padding-bottom: 0px; widows: 2; text-transform: none; background-color: rgb(255,255,255); text-indent: 0px; margin: 10px auto; padding-left: 0px; padding-right: 0px; font: 14px/25px verdana, Arial, Helvetica, sans-serif; white-space: normal; orphans: 2; letter-spacing: normal; color: rgb(51,51,51); word-spacing: 0px; padding-top: 0px; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px">因为被系统cache和buffer占用的内存可以被快速回收，所以通常FO[3][3]比FO[2][3]会大很多。</p>
<p style="padding-bottom: 0px; widows: 2; text-transform: none; background-color: rgb(255,255,255); text-indent: 0px; margin: 10px auto; padding-left: 0px; padding-right: 0px; font: 14px/25px verdana, Arial, Helvetica, sans-serif; white-space: normal; orphans: 2; letter-spacing: normal; color: rgb(51,51,51); word-spacing: 0px; padding-top: 0px; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px">这里还用两个等式：</p>
<ul style="padding-bottom: 0px; widows: 2; text-transform: none; background-color: rgb(255,255,255); list-style-type: disc; text-indent: 0px; margin: 0px 0px 0px 45px; padding-left: 0px; padding-right: 0px; font: 14px/25px verdana, Arial, Helvetica, sans-serif; white-space: normal; orphans: 2; letter-spacing: normal; color: rgb(51,51,51); word-spacing: 0px; padding-top: 0px; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px"><li style="padding-bottom: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px">FO[3][2] = FO[2][2] - FO[2][5] - FO[2][6]</li><li style="padding-bottom: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px">FO[3][3] = FO[2][3] + FO[2][5] + FO[2][6]</li></ul>
<p style="padding-bottom: 0px; widows: 2; text-transform: none; background-color: rgb(255,255,255); text-indent: 0px; margin: 10px auto; padding-left: 0px; padding-right: 0px; font: 14px/25px verdana, Arial, Helvetica, sans-serif; white-space: normal; orphans: 2; letter-spacing: normal; color: rgb(51,51,51); word-spacing: 0px; padding-top: 0px; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px">这二者都不难理解。</p>
<p style="padding-bottom: 0px; widows: 2; text-transform: none; background-color: rgb(255,255,255); text-indent: 0px; margin: 10px auto; padding-left: 0px; padding-right: 0px; font: 14px/25px verdana, Arial, Helvetica, sans-serif; white-space: normal; orphans: 2; letter-spacing: normal; color: rgb(51,51,51); word-spacing: 0px; padding-top: 0px; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px">　　free命令由procps.*.rpm提供（在Redhat系列的OS上）。free命令的所有输出值都是从/proc/meminfo中读出的。</p>
<p style="padding-bottom: 0px; widows: 2; text-transform: none; background-color: rgb(255,255,255); text-indent: 0px; margin: 10px auto; padding-left: 0px; padding-right: 0px; font: 14px/25px verdana, Arial, Helvetica, sans-serif; white-space: normal; orphans: 2; letter-spacing: normal; color: rgb(51,51,51); word-spacing: 0px; padding-top: 0px; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px">在系统上可能有meminfo(2)这个函数，它就是为了解析/proc/meminfo的。procps这个包自己实现了meminfo()这个函数。可以下载一个procps的tar包看看具体实现，现在最新版式3.2.8。</p><img src ="http://www.blogjava.net/zhanglongsr/aggbug/397733.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/zhanglongsr/" target="_blank">zhangxl</a> 2013-04-12 11:19 <a href="http://www.blogjava.net/zhanglongsr/articles/397733.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>linux单用户启动</title><link>http://www.blogjava.net/zhanglongsr/articles/363059.html</link><dc:creator>zhangxl</dc:creator><author>zhangxl</author><pubDate>Mon, 07 Nov 2011 08:12:00 GMT</pubDate><guid>http://www.blogjava.net/zhanglongsr/articles/363059.html</guid><wfw:comment>http://www.blogjava.net/zhanglongsr/comments/363059.html</wfw:comment><comments>http://www.blogjava.net/zhanglongsr/articles/363059.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/zhanglongsr/comments/commentRss/363059.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/zhanglongsr/services/trackbacks/363059.html</trackback:ping><description><![CDATA[&nbsp;&nbsp;&nbsp;&nbsp;我们都知道，linux是多任务、多用户操作系统。既然是多用户操作系统，那么我们为什么要使用单用户启动呢？举例来说，比如linux机器突然断电、死机而导致的系统无法正常启动、IDC机房客户要求进行必要的维护，而又不给你root密码的时候，都需要在单用户模式下进行操作的。<br />&nbsp;&nbsp;&nbsp;&nbsp;那么，单用户模式如何进入呢？下面就以FC9为例进行说明。<br />&nbsp;&nbsp;&nbsp;&nbsp;1.系统在开机启动后，迅速按方向键的向下键；<br />&nbsp;&nbsp;&nbsp;&nbsp;2.之后，系统会进入选择界面，我这里只看到kenerl，然后按&#8220;e&#8221;键，意思是edit<br />&nbsp;&nbsp;&nbsp; 3.启动方式输入"single"<br />&nbsp;&nbsp;&nbsp; 4.选择"d"键，重新引导启动。<br />&nbsp;&nbsp;&nbsp; <img src ="http://www.blogjava.net/zhanglongsr/aggbug/363059.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/zhanglongsr/" target="_blank">zhangxl</a> 2011-11-07 16:12 <a href="http://www.blogjava.net/zhanglongsr/articles/363059.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>linux下安装Tomcat(开机启动)</title><link>http://www.blogjava.net/zhanglongsr/articles/347899.html</link><dc:creator>zhangxl</dc:creator><author>zhangxl</author><pubDate>Fri, 08 Apr 2011 08:44:00 GMT</pubDate><guid>http://www.blogjava.net/zhanglongsr/articles/347899.html</guid><wfw:comment>http://www.blogjava.net/zhanglongsr/comments/347899.html</wfw:comment><comments>http://www.blogjava.net/zhanglongsr/articles/347899.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/zhanglongsr/comments/commentRss/347899.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/zhanglongsr/services/trackbacks/347899.html</trackback:ping><description><![CDATA[<p>1.下载JDK1.6.0 for LINUX的rpm. 应该是个jdk-1_6_x-rc-linux-i586-rpm.bin的文件</p>
<p>2.通过chmod ＋x jdk-1_6_x-rc-linux-i586-rpm.bin命令使其获得可执行权限</p>
<p>4.通过 rpm &#8211;ivh jdk-1_6_x-rc-linux-i586-rpm.bin来进行安装</p>
<p>5.安装完毕,JDK安装在/usr/java/目录下</p>
<p>6.到apache上下载tar.gz包。</p>
<p>7.cp到/usr下,然后解压 tar xzvf tomcat.tar.gz ./。</p>
<p>8.开机启动处理：<br />
&nbsp;&nbsp; <br />
&nbsp; (1) vi /etc/profile ，设置以下环境变量，以便linux在启动catalina.sh时不会出错<br />
&nbsp;export JAVA_HOME = /usr/java/jdk1.6<br />
&nbsp;export PATH = $JAVA_HOME/bin:$JAVA_HOME/jre/bin:$PATH<br />
&nbsp;export CLASSPATH=.:/usr/java/jdk1.6/lib:/usr/java/jdk1.6/jre/lib:$CLASSPATH</p>
<p>&nbsp;export CATALINA_HOME="/usr/tomcat"<br />
&nbsp;export CATALINA_BASE="/usr/tomcat"<br />
&nbsp;export CATALINA_TMPDIR="/usr/tomcat/tmp"</p>
<p>&nbsp; (2)vi /etc/rc.local&nbsp; </p>
<p>&nbsp;添加/usr/tomcat/bin/catalina.sh start</p>
<p>&nbsp;&nbsp; 注意，如果您使用mysql的话，要保证mysql在tomcat之前启动，也可以在本文件中添加，如下：<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; /etc/init.d/mysqld start&nbsp;&nbsp;&nbsp; //启动mysql<br />
&nbsp;sleep 3&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; //休眠3秒<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; /usr/tomcat/bin/catalina.sh start //启动tomcat</p>
<img src ="http://www.blogjava.net/zhanglongsr/aggbug/347899.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/zhanglongsr/" target="_blank">zhangxl</a> 2011-04-08 16:44 <a href="http://www.blogjava.net/zhanglongsr/articles/347899.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item></channel></rss>