﻿<?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-逝者如斯夫-随笔分类-Linux</title><link>http://www.blogjava.net/ideame/category/36839.html</link><description>静而思之</description><language>zh-cn</language><lastBuildDate>Tue, 19 Jan 2010 07:35:14 GMT</lastBuildDate><pubDate>Tue, 19 Jan 2010 07:35:14 GMT</pubDate><ttl>60</ttl><item><title>查看系统信息：Linux版本和内核对应</title><link>http://www.blogjava.net/ideame/archive/2009/02/17/255118.html</link><dc:creator>ideame</dc:creator><author>ideame</author><pubDate>Tue, 17 Feb 2009 08:02:00 GMT</pubDate><guid>http://www.blogjava.net/ideame/archive/2009/02/17/255118.html</guid><wfw:comment>http://www.blogjava.net/ideame/comments/255118.html</wfw:comment><comments>http://www.blogjava.net/ideame/archive/2009/02/17/255118.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/ideame/comments/commentRss/255118.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/ideame/services/trackbacks/255118.html</trackback:ping><description><![CDATA[
		<p>
		</p>
		<p>Red Hat 9                     2.4.20-8</p>
		<p>Fedora Core 4              2.6.11-1.1369_FC4<br />Fedora Core 5              2.6.15-1.2054_FC5<br />Fedora Core 6              2.6.18-1.2798.fc6<br />Fedora 7                      2.6.21-1.3194.fc7<br />Fedora 8                      2.6.23.1-42.fc8</p>
		<p>Ubuntu 7.10                2.6.22-14-generic</p>
		<p>RedHat as4.0               2.6.9-11.EL </p>
		<p>CentOS 5.1                  2.6.18<br />CentOS 5.2                  2.6.18</p>
		<p>
				<br />
		</p>
		<p>
				<font size="3">系统<br />    # uname -a # 查看内核/操作系统/CPU信息<br />    # head -n 1 /etc/issue # 查看操作系统版本<br />    # cat /proc/cpuinfo # 查看CPU信息<br />    # hostname # 查看计算机名<br />    # lspci -tv # 列出所有PCI设备<br />    # lsusb -tv # 列出所有USB设备<br />    # lsmod # 列出加载的内核模块<br />    # env # 查看环境变量</font>
		</p>
		<p>
				<font size="3">资源<br />    # free -m # 查看内存使用量和交换区使用量<br />    # df -h # 查看各分区使用情况<br />    # du -sh # 查看指定目录的大小<br />    # grep MemTotal /proc/meminfo # 查看内存总量<br />    # grep MemFree /proc/meminfo # 查看空闲内存量<br />    # uptime # 查看系统运行时间、用户数、负载<br />    # cat /proc/loadavg # 查看系统负载</font>
		</p>
		<p>
				<font size="3">磁盘和分区<br />    # mount | column -t # 查看挂接的分区状态<br />    # fdisk -l # 查看所有分区<br />    # swapon -s # 查看所有交换分区<br />    # hdparm -i /dev/hda # 查看磁盘参数(仅适用于IDE设备)<br />    # dmesg | grep IDE # 查看启动时IDE设备检测状况<br /></font>
		</p>
		<p>
				<font size="3">网络<br />    # ifconfig # 查看所有网络接口的属性<br />    # iptables -L # 查看防火墙设置<br />    # route -n # 查看路由表<br />    # netstat -lntp # 查看所有监听端口<br />    # netstat -antp # 查看所有已经建立的连接<br />    # netstat -s # 查看网络统计信息<br /></font>
		</p>
		<p>
				<font size="3">进程<br />    # ps -ef # 查看所有进程<br />    # top # 实时显示进程状态<br /></font>
		</p>
		<p>
				<font size="3">用户<br />    # w # 查看活动用户<br />    # id # 查看指定用户信息<br />    # last # 查看用户登录日志<br />    # cut -d: -f1 /etc/passwd # 查看系统所有用户<br />    # cut -d: -f1 /etc/group # 查看系统所有组<br />    # crontab -l # 查看当前用户的计划任务<br /></font>
		</p>
		<p>
				<font size="3">服务<br />    # chkconfig --list # 列出所有系统服务<br />    # chkconfig --list | grep on # 列出所有启动的系统服务<br /></font>
		</p>
		<p>
				<font size="3">程序<br />    # rpm -qa # 查看所有安装的软件包</font>
		</p>
<img src ="http://www.blogjava.net/ideame/aggbug/255118.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/ideame/" target="_blank">ideame</a> 2009-02-17 16:02 <a href="http://www.blogjava.net/ideame/archive/2009/02/17/255118.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>TCP连接的过程</title><link>http://www.blogjava.net/ideame/archive/2009/02/09/253935.html</link><dc:creator>ideame</dc:creator><author>ideame</author><pubDate>Mon, 09 Feb 2009 10:11:00 GMT</pubDate><guid>http://www.blogjava.net/ideame/archive/2009/02/09/253935.html</guid><wfw:comment>http://www.blogjava.net/ideame/comments/253935.html</wfw:comment><comments>http://www.blogjava.net/ideame/archive/2009/02/09/253935.html#Feedback</comments><slash:comments>1</slash:comments><wfw:commentRss>http://www.blogjava.net/ideame/comments/commentRss/253935.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/ideame/services/trackbacks/253935.html</trackback:ping><description><![CDATA[
		<p>编写：Leaf Zhou<br />EMAIL:leaf_zhou_8@hotmail.com  </p>
		<p> TCP是英文Transport Control Protocol的缩写。从字面理解，就是传输控制协议。因此，TCP是一种控制协议，他本身不能用来传输数据，它需要通过网络层的IP协议来进行实际数据的传输。这也就是我们常常看到，TCP/IP和TCP/UDP总是同时出现的原因。因此，也可以理解为TCP是很多的不同的协议组成，实际上是一个协议组。提供可靠的主机到主机层数据传输控制协议。这里要先强调一下，传输控制协议是OSI网络的第四层的叫法，TCP传输控制协议是TCP/IP传输的6个基本协议的一种。TCP是一种可靠的面向连接的传送服务。它在  </p>
		<p> 一、TCP概述<br /> TCP是英文Transport Control Protocol的缩写。从字面理解，就是传输控制协议。因此，TCP是一种控制协议，他本身不能用来传输数据，它需要通过网络层的IP协议来进行实际数据的传输。这也就是我们常常看到，TCP/IP和TCP/UDP总是同时出现的原因。因此，也可以理解为TCP是很多的不同的协议组成，实际上是一个协议组。提供可靠的主机到主机层数据传输控制协议。这里要先强调一下，传输控制协议是OSI网络的第四层的叫法，TCP传输控制协议是TCP/IP传输的6个基本协议的一种。TCP是一种可靠的面向连接的传送服务。它在传送数据时是分段进行的，主机交换数据必须先建立一个会话。它用比特流通信，即数据被作为无结构的字节流进行传输，没有数据边界。通过每个TCP传输的字段指定顺序号，以获得可靠性。是在OSI参考模型中的第四层，TCP是使用IP的网间互联功能而提供可靠的数据传输，IP不停的把报文放到网络上，而TCP是负责确信报文到达。在协同IP的操作中TCP负责：握手过程、报文管理、流量控制、错误检测和处理（控制），可以根据一定的编号顺序对非正常顺序的报文给予从新排列顺序。关于TCP的RFC文档有RFC793、RFC791、RFC1700。  </p>
		<p> 二、TCP连接的建立<br /> 建立一个TCP连接，需要下面的步骤：<br /> (1)服务器端通过listen来准备接受外来的连接，称为被动打开(passive open)。<br /> (2) 客户端通过connect进行连接服务器，称为主动打开(active open)。在这个操作中，客户端需要发送一个同步数据报(SYN)，用来通知服务器端开始发送数据的初始序列号。通常情况下，同步数据报不携带数据，它只包含一个IP头部、一个TCP头部和本次通信所使用的TCP的选项。<br /> (3)服务器端必须对客户端发来的同步数据报SYN进行确认，同时自己也要发送一个同步数据报(SYN)，它包含客户端发送数据的初始序列号。服务器端对在同一连接中发送的数据初始序号和对客户端发送的确认信息(ACK)，都放在一个数据报中，一起发送给客户端。<br /> (4)客户端也必须发送确认服务器端的同步数据报(SYN)。<br /> 由上面的步骤来看，建立一个TCP连接，至少需要服务器端和客户端进行三个分组数据的交换，因此，称之为TCP的三路握手(three-way handshake)。  </p>
		<div style="border: 1px solid rgb(204, 204, 204); padding: 4px 5px 4px 4px; background-color: rgb(238, 238, 238); font-size: 13px; width: 98%;">
				<!--<br><br>Code highlighting produced by Actipro CodeHighlighter (freeware)<br>http://www.CodeHighlighter.com/<br><br>-->
				<font size="3">
						<span style="color: rgb(0, 0, 0);">            客户端                           服务器端<br />            connect()                        accept()<br />                      ---&gt; SYN S -----&gt;   <br />                      &lt;--- SYN C</span>
						<span style="color: rgb(0, 0, 0);">,</span>
						<span style="color: rgb(0, 0, 0);">ACK S+</span>
						<span style="color: rgb(0, 0, 0);">1</span>
						<span style="color: rgb(0, 0, 0);"> &lt;---      <br />                      ---&gt; ACK C+</span>
						<span style="color: rgb(0, 0, 0);">1</span>
						<span style="color: rgb(0, 0, 0);"> -----&gt;</span>
				</font>
		</div>
		<br />
		<p> 第一次进行分组数据交换的过程中，分组数据中可能包含着本次通信中可能的TCP选项。这些选项有：<br /> (1) 最大分组(MSS)选项。TCP发送的SYN中带有这个选项，用来告诉对方它的最大分组数据的大小MSS(Maximum Segment Size),即它能接收的每个TCP分组数据中的最大数据量。这个选项可以通过TCP_MAXSEG套接口选项获取与设置这个TCP选项。<br /> (2) 窗口大小选项。这是TCP能提供流量控制的主要手段。TCP连接的每一方都有固定大小的缓冲空间，TCP的接收端只允许另一端发送接收端缓冲区所能接纳的数据。这将防止较快主机致使较慢主机的缓冲区溢出。TCP双方能够通知对方的最大窗口大小是64K(65535 bytes)，因为TCP头部相应的标识字段值只用了16位来表示。每个套接口都有一个发送缓冲区和一个接收缓冲区，接收缓冲区被TCP和UDP用来将接收到的数据一直保存到由应用进程来读取。对于TCP，TCP通告另一端的窗口大小。 TCP套接口接收缓冲区不可能溢出，因为对方不允许发出超过所通告窗口大小的数据。这就是TCP的流量控制，如果对方无视窗口大小而发出了超过窗口大小的数据，则接收方TCP将丢弃它；而对于UDP，当套接口接收缓冲区放不下接收到的数据报时，此数据报就被丢弃。UDP是没有流量控制的，快的发送者可以很容易地就淹没慢的接收者，导致接收方的UDP丢弃数据报，使数据发生丢失。<br /> (3)时间戳选项。时间戳选项使发送方在每个报文段中放置一个时间戳值。接收方在确认中返回这个数值，从而允许发送方为每一个收到的ACK计算RTT。  </p>
		<p> 三、TCP连接的终止<br /> 终止TCP连接<br /> TCP用三个分组数据建立一个连接，但要终止一个连接则通常需要需要四个分组数据。过程如下：<br /> (1)先调用close的进程，称为主动关闭(active close)。这一端的TCP先发送一个FIN分组数据，告诉对方，数据发送完毕。<br /> (2)接收到FIN分组数据的一端执行被动关闭(passive close)，同时，发送对这个FIN的确认ACK分组数据给对方。确认序号为收到的序号加1。FIN分组数据的接收意味着在当前的连接上，再也不会收到额外的数据。<br /> (3)接收到FIN分组数据的一端的应用进程，将调用close关闭自己的套接口，同时TCP 会发送一个FIN分组数据给另一端。<br /> (4)收到这个FIN的分组数据，即执行主动关闭的一端对这个FIN分组数据进行确认。发回确认ACK分组数据，并将确认序号设置为收到序号加1  </p>
		<p> 在这个过程中，执行被动关闭的一方可以把确认对方FIN分组数据的ACK分组数据和自己要发送的FIN分组数据可以放到一个分组数据中。TCP的连接终止的过程如下：  </p>
		<p>
		</p>
		<div style="border: 1px solid rgb(204, 204, 204); padding: 4px 5px 4px 4px; background-color: rgb(238, 238, 238); font-size: 13px; width: 98%;">
				<!--<br><br>Code highlighting produced by Actipro CodeHighlighter (freeware)<br>http://www.CodeHighlighter.com/<br><br>-->
				<font size="3">
						<span style="color: rgb(0, 0, 0);">            客户端                           服务器端<br />            close()                          close()<br />                      ---&gt; FIN S -----&gt;   <br />                      &lt;--- ACK S+</span>
						<span style="color: rgb(0, 0, 0);">1</span>
						<span style="color: rgb(0, 0, 0);"> &lt;---      <br />                      &lt;--- FIN C   &lt;---<br />                      ---&gt; FIN C+</span>
						<span style="color: rgb(0, 0, 0);">1</span>
						<span style="color: rgb(0, 0, 0);"> ---&gt;</span>
				</font>
		</div>
		<br /> 四、TCP连的状态                  <br /> TCP的连接的建立和终止，基本上已经清楚了，那么在这个过程中，是如何知道这个连接正处在什么状态呢？方法当然是有的，我们先运行如下命令，看看返回的结果：<br /><br /><div style="border: 1px solid rgb(204, 204, 204); padding: 4px 5px 4px 4px; background-color: rgb(238, 238, 238); font-size: 13px; width: 98%;"><!--<br><br>Code highlighting produced by Actipro CodeHighlighter (freeware)<br>http://www.CodeHighlighter.com/<br><br>--><span style="color: rgb(128, 0, 0); font-weight: bold;">[</span><span style="color: rgb(128, 0, 0);">root@linux81 leaf</span><span style="color: rgb(128, 0, 0); font-weight: bold;">]</span><span style="color: rgb(0, 0, 0);"># netstat -an<br />Active Internet connections (servers and established)<br />Proto Recv-Q Send-Q Local Address           Foreign Address         State    <br />tcp        </span><span style="color: rgb(0, 0, 0);">0</span><span style="color: rgb(0, 0, 0);">      </span><span style="color: rgb(0, 0, 0);">0</span><span style="color: rgb(0, 0, 0);"> </span><span style="color: rgb(0, 0, 0);">0.0.0.0</span><span style="color: rgb(0, 0, 0);">:</span><span style="color: rgb(0, 0, 0);">3306</span><span style="color: rgb(0, 0, 0);">            </span><span style="color: rgb(0, 0, 0);">0.0.0.0</span><span style="color: rgb(0, 0, 0);">:*               LISTEN    <br />tcp        </span><span style="color: rgb(0, 0, 0);">0</span><span style="color: rgb(0, 0, 0);">      </span><span style="color: rgb(0, 0, 0);">0</span><span style="color: rgb(0, 0, 0);"> </span><span style="color: rgb(0, 0, 0);">0.0.0.0</span><span style="color: rgb(0, 0, 0);">:</span><span style="color: rgb(0, 0, 0);">139</span><span style="color: rgb(0, 0, 0);">             </span><span style="color: rgb(0, 0, 0);">0.0.0.0</span><span style="color: rgb(0, 0, 0);">:*               LISTEN    <br />tcp        </span><span style="color: rgb(0, 0, 0);">0</span><span style="color: rgb(0, 0, 0);">      </span><span style="color: rgb(0, 0, 0);">0</span><span style="color: rgb(0, 0, 0);"> </span><span style="color: rgb(0, 0, 0);">0.0.0.0</span><span style="color: rgb(0, 0, 0);">:</span><span style="color: rgb(0, 0, 0);">21</span><span style="color: rgb(0, 0, 0);">              </span><span style="color: rgb(0, 0, 0);">0.0.0.0</span><span style="color: rgb(0, 0, 0);">:*               LISTEN    <br />tcp        </span><span style="color: rgb(0, 0, 0);">0</span><span style="color: rgb(0, 0, 0);">      </span><span style="color: rgb(0, 0, 0);">0</span><span style="color: rgb(0, 0, 0);"> </span><span style="color: rgb(0, 0, 0);">0.0.0.0</span><span style="color: rgb(0, 0, 0);">:</span><span style="color: rgb(0, 0, 0);">22</span><span style="color: rgb(0, 0, 0);">              </span><span style="color: rgb(0, 0, 0);">0.0.0.0</span><span style="color: rgb(0, 0, 0);">:*               LISTEN    <br />tcp        </span><span style="color: rgb(0, 0, 0);">0</span><span style="color: rgb(0, 0, 0);">      </span><span style="color: rgb(0, 0, 0);">0</span><span style="color: rgb(0, 0, 0);"> </span><span style="color: rgb(0, 0, 0);">0.0.0.0</span><span style="color: rgb(0, 0, 0);">:</span><span style="color: rgb(0, 0, 0);">23</span><span style="color: rgb(0, 0, 0);">              </span><span style="color: rgb(0, 0, 0);">0.0.0.0</span><span style="color: rgb(0, 0, 0);">:*               LISTEN    <br />tcp        </span><span style="color: rgb(0, 0, 0);">0</span><span style="color: rgb(0, 0, 0);">      </span><span style="color: rgb(0, 0, 0);">0</span><span style="color: rgb(0, 0, 0);"> </span><span style="color: rgb(0, 0, 0);">192.168.253.81</span><span style="color: rgb(0, 0, 0);">:</span><span style="color: rgb(0, 0, 0);">139</span><span style="color: rgb(0, 0, 0);">      </span><span style="color: rgb(0, 0, 0);">192.168.253.35</span><span style="color: rgb(0, 0, 0);">:</span><span style="color: rgb(0, 0, 0);">1201</span><span style="color: rgb(0, 0, 0);">     ESTABLISHED<br />tcp        </span><span style="color: rgb(0, 0, 0);">0</span><span style="color: rgb(0, 0, 0);">    </span><span style="color: rgb(0, 0, 0);">272</span><span style="color: rgb(0, 0, 0);"> </span><span style="color: rgb(0, 0, 0);">192.168.253.81</span><span style="color: rgb(0, 0, 0);">:</span><span style="color: rgb(0, 0, 0);">22</span><span style="color: rgb(0, 0, 0);">       </span><span style="color: rgb(0, 0, 0);">192.168.253.59</span><span style="color: rgb(0, 0, 0);">:</span><span style="color: rgb(0, 0, 0);">1776</span><span style="color: rgb(0, 0, 0);">     ESTABLISHED<br />udp        </span><span style="color: rgb(0, 0, 0);">0</span><span style="color: rgb(0, 0, 0);">      </span><span style="color: rgb(0, 0, 0);">0</span><span style="color: rgb(0, 0, 0);"> </span><span style="color: rgb(0, 0, 0);">192.168.253.81</span><span style="color: rgb(0, 0, 0);">:</span><span style="color: rgb(0, 0, 0);">137</span><span style="color: rgb(0, 0, 0);">      </span><span style="color: rgb(0, 0, 0);">0.0.0.0</span><span style="color: rgb(0, 0, 0);">:*                         <br />udp        </span><span style="color: rgb(0, 0, 0);">0</span><span style="color: rgb(0, 0, 0);">      </span><span style="color: rgb(0, 0, 0);">0</span><span style="color: rgb(0, 0, 0);"> </span><span style="color: rgb(0, 0, 0);">0.0.0.0</span><span style="color: rgb(0, 0, 0);">:</span><span style="color: rgb(0, 0, 0);">137</span><span style="color: rgb(0, 0, 0);">             </span><span style="color: rgb(0, 0, 0);">0.0.0.0</span><span style="color: rgb(0, 0, 0);">:*                         <br />udp        </span><span style="color: rgb(0, 0, 0);">0</span><span style="color: rgb(0, 0, 0);">      </span><span style="color: rgb(0, 0, 0);">0</span><span style="color: rgb(0, 0, 0);"> </span><span style="color: rgb(0, 0, 0);">192.168.253.81</span><span style="color: rgb(0, 0, 0);">:</span><span style="color: rgb(0, 0, 0);">138</span><span style="color: rgb(0, 0, 0);">      </span><span style="color: rgb(0, 0, 0);">0.0.0.0</span><span style="color: rgb(0, 0, 0);">:*                         <br />udp        </span><span style="color: rgb(0, 0, 0);">0</span><span style="color: rgb(0, 0, 0);">      </span><span style="color: rgb(0, 0, 0);">0</span><span style="color: rgb(0, 0, 0);"> </span><span style="color: rgb(0, 0, 0);">0.0.0.0</span><span style="color: rgb(0, 0, 0);">:</span><span style="color: rgb(0, 0, 0);">138</span><span style="color: rgb(0, 0, 0);">             </span><span style="color: rgb(0, 0, 0);">0.0.0.0</span><span style="color: rgb(0, 0, 0);">:*                         <br />udp        </span><span style="color: rgb(0, 0, 0);">0</span><span style="color: rgb(0, 0, 0);">      </span><span style="color: rgb(0, 0, 0);">0</span><span style="color: rgb(0, 0, 0);"> </span><span style="color: rgb(0, 0, 0);">127.0.0.1</span><span style="color: rgb(0, 0, 0);">:</span><span style="color: rgb(0, 0, 0);">36260</span><span style="color: rgb(0, 0, 0);">         </span><span style="color: rgb(0, 0, 0);">0.0.0.0</span><span style="color: rgb(0, 0, 0);">:*          </span></div><br /><p> 在上面的返回结果中，State一列，就是说明连接的当前状态。<br /> TCP的连接状态有：<br /> (01)CLOSED   <br /> (02)LISTEN    被动打开<br /> (03)SYN_RCVD   <br /> (04)SYN_SEND<br /> (05)ESTABLISHED   数据传送状态<br /> (06)CLOSE_WAIT<br /> (07)LAST_ACK   被动关闭<br /> (08)FIN_WAIT_1<br /> (09)FIN_WAIT_2<br /> (10)CLOSING<br /> (11)TIME_WAIT  </p><p> TCP连接状态转换示意图如下所示：<br /><font face="Courier New" size="2"><div style="border: 1px solid rgb(204, 204, 204); padding: 4px 5px 4px 4px; background-color: rgb(238, 238, 238); font-size: 13px; width: 98%;"><!--<br><br>Code highlighting produced by Actipro CodeHighlighter (freeware)<br>http://www.CodeHighlighter.com/<br><br>--><font face="Georgia" size="1"><span style="color: rgb(0, 0, 0);">                              +---------+ ---------\      active OPEN<br />                              |  CLOSED |            \    -----------<br />                              +---------+&lt;---------\   \   create TCB<br />                                |     ^              \   \  snd SYN  <br />                   passive OPEN |     |   CLOSE        \   \         <br />                   ------------ |     | ----------       \   \       <br />                    create TCB  |     | delete TCB         \   \     <br />                                V     |                      \   \   <br />                              +---------+            CLOSE    |    \ <br />                              |  LISTEN |          ---------- |     |<br />                              +---------+          delete TCB |     |<br />                   rcv SYN      |     |     SEND              |     |<br />                  -----------   |     |    -------            |     V<br />+---------+      snd SYN</span><span style="color: rgb(0, 0, 0);">,</span><span style="color: rgb(0, 0, 0);">ACK  /       \   snd SYN          +---------+<br />|         |&lt;-----------------           ------------------&gt;|         |<br />|   SYN   |                    rcv SYN                     |   SYN   |<br />|   RCVD  |&lt;-----------------------------------------------|   SENT  |<br />|         |                    snd ACK                     |         |<br />|         |------------------           -------------------|         |<br />+---------+   rcv ACK of SYN  \       /  rcv SYN</span><span style="color: rgb(0, 0, 0);">,</span><span style="color: rgb(0, 0, 0);">ACK       +---------+<br />   |           --------------   |     |   -----------                <br />   |                  x         |     |     snd ACK                  <br />   |                            V     V                              <br />   |  CLOSE                   +---------+                            <br />   | -------                  |  ESTAB  |                            <br />   | snd FIN                  +---------+                            <br />   |                   CLOSE    |     |    rcv FIN                   <br />   V                  -------   |     |    -------                   <br />+---------+          snd FIN  /       \   snd ACK          +---------+<br />|  FIN    |&lt;-----------------           ------------------&gt;|  CLOSE  |<br />| WAIT-</span><span style="color: rgb(0, 0, 0);">1</span><span style="color: rgb(0, 0, 0);">  |------------------                              |   WAIT  |<br />+---------+          rcv FIN  \                            +---------+<br />   | rcv ACK of FIN   -------   |                            CLOSE  |<br />   | --------------   snd ACK   |                           ------- |<br />   V        x                   V                           snd FIN V<br />+---------+                  +---------+                   +---------+<br />|FINWAIT-</span><span style="color: rgb(0, 0, 0);">2</span><span style="color: rgb(0, 0, 0);">|                  | CLOSING |                   | LAST-ACK|<br />+---------+                  +---------+                   +---------+<br />   |                rcv ACK of FIN |                 rcv ACK of FIN |<br />   |  rcv FIN       -------------- |    Timeout</span><span style="color: rgb(0, 0, 0);">=</span><span style="color: rgb(0, 0, 0);">2MSL -------------- |<br />   |  -------              x       V    ------------        x       V<br />    \ snd ACK                 +---------+delete TCB         +---------+<br />     ------------------------&gt;|TIME WAIT|------------------&gt;| CLOSED  |<br />                              +---------+                   +---------+</span></font></div><br /></font></p><p>                      TCP Connection State Diagram  </p><p> 从上面的图表中，可以做出如下总结：<br /> 服务器端的正常状态转换过程如下：<br />  CLOSED --&gt; LISTEN --&gt; SYN_RCVD --&gt; ESTABLISHED --&gt; CLOSE_WAIT --&gt; LAST_ACK --&gt; CLOSED<br /> 客户端的正常状态转换过程如下：<br /> CLOSED --&gt; SYN_SENT --&gt; ESTABLISHED --&gt; FIN_WAIT_1 --&gt; FIN_WAIT_2 --&gt; TIME_WAIT --&gt; CLOSED<br /> 从上面的连接状态转换中可以看出，从ESTABLISHED状态的转换有两种，对于客户端和服务器端来说，是一样的，即当收到FIN数据报之前，主动关闭，则转换成FIN_WAIT_1；如果因为收到FIN数据报，而引起的被动关闭，则转换成CLOSE_WAIT状态。</p><div class="wlWriterEditableSmartContent" id="scid:0767317B-992E-4b12-91E0-4F059A8CECA8:8359c5e3-d5b0-4c76-8959-349f2dc068ec" style="margin: 0px; padding: 0px; display: inline; float: none;">Technorati Tags: <a href="http://technorati.com/tags/TCP+%e8%bf%9e%e6%8e%a5%e8%bf%87%e7%a8%8b+connect+handshake" rel="tag">TCP 连接过程 connect handshake</a></div><img src ="http://www.blogjava.net/ideame/aggbug/253935.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/ideame/" target="_blank">ideame</a> 2009-02-09 18:11 <a href="http://www.blogjava.net/ideame/archive/2009/02/09/253935.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>group install gnome</title><link>http://www.blogjava.net/ideame/archive/2009/02/09/253912.html</link><dc:creator>ideame</dc:creator><author>ideame</author><pubDate>Mon, 09 Feb 2009 07:38:00 GMT</pubDate><guid>http://www.blogjava.net/ideame/archive/2009/02/09/253912.html</guid><wfw:comment>http://www.blogjava.net/ideame/comments/253912.html</wfw:comment><comments>http://www.blogjava.net/ideame/archive/2009/02/09/253912.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/ideame/comments/commentRss/253912.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/ideame/services/trackbacks/253912.html</trackback:ping><description><![CDATA[<p>Install:  <p>yum grouplist <p>sudo yum groupinstall "X Window System" "GNOME Desktop Environment"  <p>or</p> <p>sudo mount /dev/cdrom /media/cdrom</p> <p>sudo yum --disablerepo=\* --enablerepo=c5-media groupinstall "X Window System" "GNOME Desktop Environment" </p> <p><br>Error: </p> <p>Missing Dependency: libgaim.so.0 is needed by package nautilus-sendto&nbsp; </p> <p>more detail: <a title="https://bugzilla.redhat.com/show_bug.cgi?id=250403" href="https://bugzilla.redhat.com/show_bug.cgi?id=250403">https://bugzilla.redhat.com/show_bug.cgi?id=250403</a><br></p> <p>Resolved:</p> <p><a href="http://mirror.centos.org/centos/5/os/i386/CentOS/nautilus-sendto-0.7-5.fc6.i386.rpm">wget http://mirror.centos.org/centos/5/os/i386/CentOS/nautilus-sendto-0.7-5.fc6.i386.rpm</a> ~<br></p> <p>sudo rpm -Uvh --nodeps ~/nautilus-sendto-0.7-5.fc6.i386.rpm</p> <p>&nbsp;</p> <p>repeat install.</p> <p>&nbsp;</p> <p></p> <div class="wlWriterEditableSmartContent" id="scid:0767317B-992E-4b12-91E0-4F059A8CECA8:5f2b48fb-1c52-4c6e-9224-73c5233d1a55" style="padding-right: 0px; display: inline; padding-left: 0px; float: none; padding-bottom: 0px; margin: 0px; padding-top: 0px">Technorati Tags: <a href="http://technorati.com/tags/Linux+yum+GNOME+libgaim.so+redhat+bug250403" rel="tag">Linux yum GNOME libgaim.so redhat bug250403</a></div><img src ="http://www.blogjava.net/ideame/aggbug/253912.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/ideame/" target="_blank">ideame</a> 2009-02-09 15:38 <a href="http://www.blogjava.net/ideame/archive/2009/02/09/253912.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>Linux下常用配置文件及常用命令介绍</title><link>http://www.blogjava.net/ideame/archive/2008/12/15/246481.html</link><dc:creator>ideame</dc:creator><author>ideame</author><pubDate>Mon, 15 Dec 2008 12:21:00 GMT</pubDate><guid>http://www.blogjava.net/ideame/archive/2008/12/15/246481.html</guid><wfw:comment>http://www.blogjava.net/ideame/comments/246481.html</wfw:comment><comments>http://www.blogjava.net/ideame/archive/2008/12/15/246481.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/ideame/comments/commentRss/246481.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/ideame/services/trackbacks/246481.html</trackback:ping><description><![CDATA[/etc/sysconfig/network <br />包括主机基本网络信息，用于系统启动#该文件用来指定服务器上的网络配置信息<br /><div style="border: 1px solid rgb(204, 204, 204); padding: 4px 5px 4px 4px; background-color: rgb(238, 238, 238); font-size: 13px; width: 98%;"><span style="color: rgb(0, 0, 0);">NETWORK</span><span style="color: rgb(0, 0, 0);">=</span><span style="color: rgb(0, 0, 0);">yes/no                      网络是否被配置<br />FORWARD_IPV4</span><span style="color: rgb(0, 0, 0);">=</span><span style="color: rgb(0, 0, 0);">yes/no　　　　 是否开启IP转发功能<br />HOSTNAME</span><span style="color: rgb(0, 0, 0);">=</span><span style="color: rgb(0, 0, 0);">&lt;hostname&gt;          &lt;hostname&gt;表示服务器的主机名<br />GAREWAY</span><span style="color: rgb(0, 0, 0);">=</span><span style="color: rgb(0, 0, 0);">&lt;address&gt;                &lt;address&gt;表示网络网关的IP地址<br />GAREWAYDEV</span><span style="color: rgb(0, 0, 0);">=</span><span style="color: rgb(0, 0, 0);">&lt;device&gt;           &lt;device&gt;表示网关的设备名，如：eth0</span></div><br />####示例：<br /><div style="border: 1px solid rgb(204, 204, 204); padding: 4px 5px 4px 4px; background-color: rgb(238, 238, 238); font-size: 13px; width: 98%;"><!--<br><br>Code highlighting produced by Actipro CodeHighlighter (freeware)<br>http://www.CodeHighlighter.com/<br><br>--><span style="color: rgb(0, 128, 128);">1</span> <span style="color: rgb(0, 0, 0);">#该文件用来指定服务器上的网络配置信息<br /></span><span style="color: rgb(0, 128, 128);">2</span> <span style="color: rgb(0, 0, 0);">NETWORK</span><span style="color: rgb(0, 0, 0);">=</span><span style="color: rgb(0, 0, 0);">yes/no                      网络是否被配置<br /></span><span style="color: rgb(0, 128, 128);">3</span> <span style="color: rgb(0, 0, 0);">FORWARD_IPV4</span><span style="color: rgb(0, 0, 0);">=</span><span style="color: rgb(0, 0, 0);">yes/no　　　　 是否开启IP转发功能<br /></span><span style="color: rgb(0, 128, 128);">4</span> <span style="color: rgb(0, 0, 0);">HOSTNAME</span><span style="color: rgb(0, 0, 0);">=</span><span style="color: rgb(0, 0, 0);">&lt;hostname&gt;          &lt;hostname&gt;表示服务器的主机名<br /></span><span style="color: rgb(0, 128, 128);">5</span> <span style="color: rgb(0, 0, 0);">GAREWAY</span><span style="color: rgb(0, 0, 0);">=</span><span style="color: rgb(0, 0, 0);">&lt;address&gt;                &lt;address&gt;表示网络网关的IP地址<br /></span><span style="color: rgb(0, 128, 128);">6</span> <span style="color: rgb(0, 0, 0);">GAREWAYDEV</span><span style="color: rgb(0, 0, 0);">=</span><span style="color: rgb(0, 0, 0);">&lt;device&gt;           &lt;device&gt;表示网关的设备名，如：eth0</span></div><br /><br />/etc/sysconfig/network-script/ <br />此目录下是系统启动最初始化网络的信息<br />系统网络设备的配置文件保存在/etc/sysconfig/network-scripts目录下，ifcfg-eth0包含第一块网卡的配置信息，ifcfg-eth1包含第二块网卡的配置信息。在启动时，系统通过读取这个配置文件决定某个网卡是否启动和如何配置。/etc/sysconfig /network-scripts/ifcfg-eth0文件示例：<br /><div style="border: 1px solid rgb(204, 204, 204); padding: 4px 5px 4px 4px; background-color: rgb(238, 238, 238); font-size: 13px; width: 98%;"><!--<br><br>Code highlighting produced by Actipro CodeHighlighter (freeware)<br>http://www.CodeHighlighter.com/<br><br>--><span style="color: rgb(0, 0, 0);">DEVICE </span><span style="color: rgb(0, 0, 0);">=</span><span style="color: rgb(0, 0, 0);"> eth0<br />IPADDR </span><span style="color: rgb(0, 0, 0);">=</span><span style="color: rgb(0, 0, 0);"> </span><span style="color: rgb(0, 0, 0);">192.168.0.2</span><span style="color: rgb(0, 0, 0);"><br />NETMASK </span><span style="color: rgb(0, 0, 0);">=</span><span style="color: rgb(0, 0, 0);"> </span><span style="color: rgb(0, 0, 0);">255.255.255.0</span><span style="color: rgb(0, 0, 0);"><br />BROADCAST </span><span style="color: rgb(0, 0, 0);">=</span><span style="color: rgb(0, 0, 0);"> </span><span style="color: rgb(0, 0, 0);">192.168.0.255</span><span style="color: rgb(0, 0, 0);"><br />ONBOOT </span><span style="color: rgb(0, 0, 0);">=</span><span style="color: rgb(0, 0, 0);"> yes<br />BOOTPROTO </span><span style="color: rgb(0, 0, 0);">=</span><span style="color: rgb(0, 0, 0);"> none<br />GATEWAY＝ </span><span style="color: rgb(0, 0, 0);">192.168.0.1</span></div><br /><br />若希望手工修改网络地址或增加新的网络连接，可以通过修改对应的文件ifcfg-&lt;interface-name&gt;或创建新的文件来实现。<br /><div style="border: 1px solid rgb(204, 204, 204); padding: 4px 5px 4px 4px; background-color: rgb(238, 238, 238); font-size: 13px; width: 98%;"><!--<br><br>Code highlighting produced by Actipro CodeHighlighter (freeware)<br>http://www.CodeHighlighter.com/<br><br>--><span style="color: rgb(0, 0, 0);">DEVICE</span><span style="color: rgb(0, 0, 0);">=</span><span style="color: rgb(0, 0, 0);">&lt;name&gt;                  &lt;name&gt;表示物理设备的名字<br />IPADDR</span><span style="color: rgb(0, 0, 0);">=</span><span style="color: rgb(0, 0, 0);">&lt;address&gt;              &lt;address&gt;表示赋给该网卡的IP地址<br />NETMASK</span><span style="color: rgb(0, 0, 0);">=</span><span style="color: rgb(0, 0, 0);">&lt;mask&gt;              &lt;mask&gt;表示子网掩码<br />BROADCAST</span><span style="color: rgb(0, 0, 0);">=</span><span style="color: rgb(0, 0, 0);">&lt;address&gt;　   &lt;address&gt;表示广播地址<br />ONBOOT</span><span style="color: rgb(0, 0, 0);">=</span><span style="color: rgb(0, 0, 0);">yes/no                  启动时是否激活该卡<br />BOOTPROTO</span><span style="color: rgb(0, 0, 0);">=</span><span style="color: rgb(0, 0, 0);">none               none：无须启动协议<br />                                                   bootp：使用bootp协议<br />                                                   dhcp：使用dhcp协议<br />GATEWAY</span><span style="color: rgb(0, 0, 0);">=</span><span style="color: rgb(0, 0, 0);">&lt;address&gt;          &lt;address&gt;表示默认网关<br />MACADDR</span><span style="color: rgb(0, 0, 0);">=</span><span style="color: rgb(0, 0, 0);">&lt;MAC-address&gt;&lt;MAC-address&gt;表示指定一个MAC地址<br />USERCTL</span><span style="color: rgb(0, 0, 0);">=</span><span style="color: rgb(0, 0, 0);">yes/no                   是否允许非root用户控制该设备<br /><br />/etc/xinetd.conf 定义了由超级进程XINETD启动的网络服务<br /><br /><br />/etc/protocols 设定了主机使用的协议以及各个协议的协议号<br />/etc/services 设定了主机的不同端口的网络服务 /etc/resolv.conf文件</span></div><br /><br />文件/etc/resolv.conf配置DNS客户端，它包含了DNS服务器地址和域名搜索配置，每一行应包含一个关键字和一个或多个的由空格隔开的参数。例子文件：<br /><div style="border: 1px solid rgb(204, 204, 204); padding: 4px 5px 4px 4px; background-color: rgb(238, 238, 238); font-size: 13px; width: 98%;"><!--<br><br>Code highlighting produced by Actipro CodeHighlighter (freeware)<br>http://www.CodeHighlighter.com/<br><br>--><span style="color: rgb(0, 0, 0);">search winxp.com<br />nameserver </span><span style="color: rgb(0, 0, 0);">192.168.0.1</span><span style="color: rgb(0, 0, 0);"><br />nameserver </span><span style="color: rgb(0, 0, 0);">192.168.0.2</span><span style="color: rgb(0, 0, 0);"><br />search winxp.com:表示当提供了一个不包括完全域名的主机名时，在该主机名后添加wuxp.com的后缀；<br />nameserver:表示解析域名时使用该地址指定的主机为域名服务器。<br />其中域名服务器是按照文件中出现的顺序来查询的。因此，应该首先给出最可靠的服务器。目前，至多支持三个名字服务器。 </span></div><br /><br /><br />/etc/hosts文件<br />当机器启动时，在可以查询DNS以前，机器需要查询一些主机名到IP地址的匹配。这些匹配信息存放在/etc/hosts文件中。在没有域名服务器情况下，系统上的所有网络程序都通过查询该文件来解析对应于某个主机名的IP地址。<br />下面是一个/etc/hosts文件的示例：<br />127.0.0.1  Localhost server.winxp.com<br />192.168.0.3  station1.winxp.com<br /><br /><br /><br />#### 使用ifconfig命令配置并查看网络接口情况<br /><div style="border: 1px solid rgb(204, 204, 204); padding: 4px 5px 4px 4px; background-color: rgb(238, 238, 238); font-size: 13px; width: 98%;"><!--<br><br>Code highlighting produced by Actipro CodeHighlighter (freeware)<br>http://www.CodeHighlighter.com/<br><br>--><span style="color: rgb(0, 0, 0);">#配置eth0的IP，同时激活设备<br />ifconfig eth0 </span><span style="color: rgb(0, 0, 0);">192.168.168.119</span><span style="color: rgb(0, 0, 0);"> netmask </span><span style="color: rgb(0, 0, 0);">255.255.255.0</span><span style="color: rgb(0, 0, 0);"> up<br />//配置eth0别名设备 eth0:</span><span style="color: rgb(0, 0, 0);">1</span><span style="color: rgb(0, 0, 0);"> 的IP，并添加路由<br />ifconfig eth0:</span><span style="color: rgb(0, 0, 0);">1</span><span style="color: rgb(0, 0, 0);"> </span><span style="color: rgb(0, 0, 0);">192.168.168.110</span><span style="color: rgb(0, 0, 0);"><br />route add –host </span><span style="color: rgb(0, 0, 0);">192.168.168.110</span><span style="color: rgb(0, 0, 0);"> dev eth0:</span><span style="color: rgb(0, 0, 0);">1</span><span style="color: rgb(0, 0, 0);"><br />//激活（禁用）设备<br />ifconfig eth0:</span><span style="color: rgb(0, 0, 0);">1</span><span style="color: rgb(0, 0, 0);"> up(down)<br />//查看所有（指定）网络接口配置<br />ifconfig (eth0)</span></div><br /><br />#### 使用route 命令配置路由表<br /><div style="border: 1px solid rgb(204, 204, 204); padding: 4px 5px 4px 4px; background-color: rgb(238, 238, 238); font-size: 13px; width: 98%;"><!--<br><br>Code highlighting produced by Actipro CodeHighlighter (freeware)<br>http://www.CodeHighlighter.com/<br><br>--><span style="color: rgb(0, 0, 0);">#添加到主机路由<br />route add –host </span><span style="color: rgb(0, 0, 0);">192.168.168.110</span><span style="color: rgb(0, 0, 0);"> dev eth0:</span><span style="color: rgb(0, 0, 0);">1</span><span style="color: rgb(0, 0, 0);"><br />route add –host </span><span style="color: rgb(0, 0, 0);">192.168.168.119</span><span style="color: rgb(0, 0, 0);"> gw </span><span style="color: rgb(0, 0, 0);">192.168.168.1</span><span style="color: rgb(0, 0, 0);"><br />#添加到网络的路由<br />route add –net IP netmask MASK eth0<br />route add –net IP netmask MASK gw ${IP}<br />route add –net IP/</span><span style="color: rgb(0, 0, 0);">24</span><span style="color: rgb(0, 0, 0);"> eth1<br />#添加默认网关<br />route add default gw ${IP}<br />#删除路由<br />route del –host </span><span style="color: rgb(0, 0, 0);">192.168.168.110</span><span style="color: rgb(0, 0, 0);"> dev eth0:</span><span style="color: rgb(0, 0, 0);">1</span></div><br /><br />####常用命令<br /><div style="border: 1px solid rgb(204, 204, 204); padding: 4px 5px 4px 4px; background-color: rgb(238, 238, 238); font-size: 13px; width: 98%;"><!--<br><br>Code highlighting produced by Actipro CodeHighlighter (freeware)<br>http://www.CodeHighlighter.com/<br><br>--><span style="color: rgb(0, 0, 0);">traceroute </span><span style="color: rgb(128, 0, 0); font-weight: bold;">[</span><span style="color: rgb(128, 0, 0);">URL</span><span style="color: rgb(128, 0, 0); font-weight: bold;">]</span><span style="color: rgb(0, 0, 0);"><br />ping </span><span style="color: rgb(128, 0, 0); font-weight: bold;">[</span><span style="color: rgb(128, 0, 0);">URL</span><span style="color: rgb(128, 0, 0); font-weight: bold;">]</span><span style="color: rgb(0, 0, 0);"><br />#显示网络接口状态信息<br />netstat –I<br />//显示所有监控的服务器的Socket和正在使用Socket的程序信息<br />netstat –lpe<br />#显示内核路由表信息<br />netstat –r<br />netstat –nr<br />#显示TCP/UDP传输协议的连接状态<br />netstat –t<br />netstat –u<br />#更改主机名<br />hostname myhost<br />#查看ARP缓存<br />arp<br />#添加<br />arp –s IP MAC<br />#删除<br />arp –d IP</span></div><br /><br />#### 运行级别与网络服务<br /><div style="border: 1px solid rgb(204, 204, 204); padding: 4px 5px 4px 4px; background-color: rgb(238, 238, 238); font-size: 13px; width: 98%;"><!--<br><br>Code highlighting produced by Actipro CodeHighlighter (freeware)<br>http://www.CodeHighlighter.com/<br><br>--><span style="color: rgb(0, 0, 0);">#查看当前运行级别<br />runlevel<br />#运行级别的切换<br />init<br />telinit </span></div><br /><br /><img src ="http://www.blogjava.net/ideame/aggbug/246481.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/ideame/" target="_blank">ideame</a> 2008-12-15 20:21 <a href="http://www.blogjava.net/ideame/archive/2008/12/15/246481.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>查看Linux下系统占用的资源情况</title><link>http://www.blogjava.net/ideame/archive/2008/12/15/246318.html</link><dc:creator>ideame</dc:creator><author>ideame</author><pubDate>Mon, 15 Dec 2008 01:53:00 GMT</pubDate><guid>http://www.blogjava.net/ideame/archive/2008/12/15/246318.html</guid><wfw:comment>http://www.blogjava.net/ideame/comments/246318.html</wfw:comment><comments>http://www.blogjava.net/ideame/archive/2008/12/15/246318.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/ideame/comments/commentRss/246318.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/ideame/services/trackbacks/246318.html</trackback:ping><description><![CDATA[
		<p>
		</p>
		<p>
				<b>top</b>
		</p>
		<p>1.作用<br />top命令用来显示执行中的程序进程，使用权限是所有用户。 </p>
		<p>2.格式<br />top [－] [d delay] [q] [c] [S] [s] [i] [n]  </p>
		<p>3.主要参数<br />d：指定更新的间隔，以秒计算。<br />q：没有任何延迟的更新。如果使用者有超级用户，则top命令将会以最高的优先序执行。<br />c：显示进程完整的路径与名称。<br />S：累积模式，会将己完成或消失的子行程的CPU时间累积起来。<br />s：安全模式。<br />i：不显示任何闲置(Idle)或无用(Zombie)的行程。<br />n：显示更新的次数，完成后将会退出top。  </p>
		<p>
				<a href="/images/blogjava_net/ideame/WindowsLiveWriter/Linux_8B12/image_2.png">
						<img title="image" style="border: 0px none ; display: inline;" alt="image" src="http://www.blogjava.net/images/blogjava_net/ideame/WindowsLiveWriter/Linux_8B12/image_thumb.png" width="244" border="0" height="133" />
				</a>
		</p>
		<p>图1 top命令的显示  </p>
		<p>在图1中，第一行表示的项目依次为当前时间、系统启动时间、当前系统登录用户数目、平均负载。第二行显示的是所有启动的进程、目前运行的、挂起(Sleeping)的和无用(Zombie)的进程。第三行显示的是目前CPU的使用情况，包括系统占用的比例、用户使用比例、闲置(Idle)比例。第四行显示物理内存的使用情况，包括总的可以使用的内存、已用内存、空闲内存、缓冲区占用的内存。第五行显示交换分区使用情况，包括总的交换分区、使用的、空闲的和用于高速缓存的大小。第六行显示的项目最多，下面列出了详细解释。<br />PID（Process ID）：进程标示号。<br />USER：进程所有者的用户名。<br />PR：进程的优先级别。<br />NI：进程的优先级别数值。<br />VIRT：进程占用的虚拟内存值。<br />RES：进程占用的物理内存值。<br />SHR：进程使用的共享内存值。<br />S：进程的状态，其中S表示休眠，R表示正在运行，Z表示僵死状态，N表示该进程优先值是负数。<br />%CPU：该进程占用的CPU使用率。<br />%MEM：该进程占用的物理内存和总内存的百分比。<br />TIME＋：该进程启动后占用的总的CPU时间。<br />Command：进程启动的启动命令名称，如果这一行显示不下，进程会有一个完整的命令行。<br />top命令使用过程中，还可以使用一些交互的命令来完成其它参数的功能。这些命令是通过快捷键启动的。<br />&lt;空格&gt;：立刻刷新。<br />P：根据CPU使用大小进行排序。<br />T：根据时间、累计时间排序。<br />q：退出top命令。<br />m：切换显示内存信息。<br />t：切换显示进程和CPU状态信息。<br />c：切换显示命令名称和完整命令行。<br />M：根据使用内存大小进行排序。<br />W：将当前设置写入~/.toprc文件中。这是写top配置文件的推荐方法。  </p>
		<p>可以看到，top命令是一个功能十分强大的监控系统的工具，对于系统管理员而言尤其重要。但是，它的缺点是会消耗很多系统资源。  </p>
		<p>更多的请看：http://www.QQread.com/windows/2003/index.Html  </p>
		<p>
				<b>free</b>
		</p>
		<p>1.作用<br />free命令用来显示内存的使用情况，使用权限是所有用户。  </p>
		<p>2.格式<br />free [－b－k－m] [－o] [－s delay] [－t] [－V]  </p>
		<p>3.主要参数<br />－b －k －m：分别以字节（KB、MB）为单位显示内存使用情况。<br />－s delay：显示每隔多少秒数来显示一次内存使用情况。<br />－t：显示内存总和列。<br />－o：不显示缓冲区调节列。  </p>
		<p>4.应用实例<br />free命令是用来查看内存使用情况的主要命令。和top命令相比，它的优点是使用简单，并且只占用很少的系统资源。通过－S参数可以使用free命令不间断地监视有多少内存在使用，这样可以把它当作一个方便实时监控器。<br />＃free －b －s5  </p>
		<p>使用这个命令后终端会连续不断地报告内存使用情况（以字节为单位），每5秒更新一次。  </p>
		<p> <a href="/images/blogjava_net/ideame/WindowsLiveWriter/Linux_8B12/image_4.png"><img title="image" style="border: 0px none ; display: inline;" alt="image" src="http://www.blogjava.net/images/blogjava_net/ideame/WindowsLiveWriter/Linux_8B12/image_thumb_1.png" width="244" border="0" height="47" /></a></p>
		<p>更多的请看：http://www.qqread.com/windows/2003/index.html  </p>
		<p>uptime 命令  </p>
		<p>我曾经看到资料上讲，load avarage &lt;3 系统良好，大于5 则有严重的性能问题。注意，这个值还应当除以CPU数目。<br />如果load avarage=8 ,CPU=3,8/3=2.666，2.66这个值表示系统状态良好<br />大于5也不一定是严重性能问题，有可能是的确主机提供的服务超过了他能够提供的能力，需要扩容了。要具体看看。  </p>
		<p>
				<a href="/images/blogjava_net/ideame/WindowsLiveWriter/Linux_8B12/image_6.png">
						<img title="image" style="border: 0px none ; display: inline;" alt="image" src="http://www.blogjava.net/images/blogjava_net/ideame/WindowsLiveWriter/Linux_8B12/image_thumb_2.png" width="244" border="0" height="42" />
				</a>
		</p>
<img src ="http://www.blogjava.net/ideame/aggbug/246318.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/ideame/" target="_blank">ideame</a> 2008-12-15 09:53 <a href="http://www.blogjava.net/ideame/archive/2008/12/15/246318.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item></channel></rss>