top&free命令


RedHat top 命令

top命令是Linux系统管理的一个主要命令,通过它可以获得许多信息。这里我们结合图1来说明它给出的信息。[关键字] Linux Top free 参数    1.作用  top命令用来显示执行中的程序进程,使用权限是所有用户。

2.格式  top [] [d delay] [q] [c] [S] [s] [i] [n]  

3.主要参数  

  d:指定更新的间隔,以秒计算。  

  q:没有任何延迟的更新。如果使用者有超级用户,则top命令将会以最高的优先序执行。

  c:显示进程完整的路径与名称。

  S:累积模式,会将己完成或消失的子行程的CPU时间累积起来。

  s:安全模式。

  i:不显示任何闲置(Idle)或无用(Zombie)的行程。

  n:显示更新的次数,完成后将会退出top

  4.说明

  top命令是Linux系统管理的一个主要命令,通过它可以获得许多信息。这里我们结合图1来说明它给出的信息。

  第一行表示的项目依次为当前时间、系统运行时间、当前系统登录用户数目、1/5/10分钟系统平均负载(一般来说,这个负载值应该不太可能超过 1 才对,除非您的系统很忙碌。 如果持续高于 5 的话,那么.....仔细的看看到底是那个程序在影响整体系统吧!)

  第二行显示的是所有启动的进程、目前运行、挂起 (Sleeping)的和无用(Zombie)的进程。(比较需要注意的是最后的 zombie 那个数值,如果不是 0 ,嘿嘿!好好看看到底是那个 process 变成疆尸了吧?!)(stop模式:与sleep进程应区别,sleep会主动放弃cpu,而stop是被动放弃cpu ,例单步跟踪,stop(暂停)的进程是无法自己回到运行状态的)

  第三行显示的是目前CPU的使用情况,包括us用户空间占用CPU百分比、sy 内核空间占用CPU百分比、ni 用户进程空间内改变过优先级的进程占用CPU百分比(中断处理占用)id 空闲CPU百分比、wa 等待输入输出的CPU时间百分比、hi,si,st 三者的意思目录还不清楚 :)

  第四行显示物理内存的使用情况,包括总的可以使用的内存、已用内存、空闲内存、缓冲区占用的内存。

  第五行显示交换分区使用情况,包括总的交换分区、使用的、空闲的和用于高速缓存的大小。

  第六行显示的项目最多,下面列出了详细解释。

  PIDProcess ID):进程标示号 ( 每个 process ID )

  USER:进程所有者的用户名 ( process 所属的使用者 )

  PR:进程的优先级别 ( Priority 的简写,程序的优先执行顺序,越小越早被执行 )

  NI:进程的优先级别数值 ( Nice 的简写,与 Priority 有关,也是越小越早被执行 )

  VIRT:进程占用的虚拟内存值。

  RES:进程占用的物理内存值。

  SHR:进程使用的共享内存值。

  S:进程的状态,其中S表示休眠,R表示正在运行,Z表示僵死状态,N表示该进程优先值是负数。

  %CPU:该进程占用的CPU使用率。

  %MEM:该进程占用的物理内存和总内存的百分比。

  TIME+:该进程启动后占用的总的CPU时间 ( CPU 使用时间的累加 )

  Command:进程启动的启动命令名称,如果这一行显示不下,进程会有一个完整的命令行。

  top命令使用过程中,还可以使用一些交互的命令来完成其它参数的功能。这些命令是通过快捷键启动的。

  <空格>:立刻刷新。

  P:根据CPU使用大小进行排序。

  T:根据时间、累计时间排序。

  q:退出top命令。

  m:切换显示内存信息。

  t:切换显示进程和CPU状态信息。

  c:切换显示命令名称和完整命令行。

  M:根据使用内存大小进行排序。

  W:将当前设置写入~/.toprc文件中。这是写top配置文件的推荐方法。

  可以看到,top命令是一个功能十分强大的监控系统的工具,对于系统管理员而言尤其重要。但是,它的缺点是会消耗很多系统资源。

  5.应用实例

  使用top命令可以监视指定用户,缺省情况是监视所有用户的进程。如果想查看指定用户的情况,在终端中按“U”键,然后输入用户名,系统就会切换为指定用户的进程运行界面。

free命令

  free命令用来显示内存的使用情况,使用权限是所有用户。

  b.格式

  free [b -k -m] [o] [s delay] [t] [V]

  c.主要参数

  -b k m:分别以字节(KBMB)为单位显示内存使用情况。

  -s delay:显示每隔多少秒数来显示一次内存使用情况。

  -t:显示内存总和列。

  -o:不显示缓冲区调节列。

  d.应用实例

  free命令是用来查看内存使用情况的主要命令。和top命令相比,它的优点是使用简单,并且只占用很少的系统资源。通过-S参数可以使用free命令不间断地监视有多少内存在使用,这样可以把它当作一个方便实时监控器。

  #free b s5

  使用这个命令后终端会连续不断地报告内存使用情况(以字节为单位),每5秒更新一次。


打开top 后查看内存使用大小排序 需输入输入大写M

查看内存的使用率

 

Linux系统中,内存主要可以分为三部分:内核使用的内存、程序使用的内存、缓冲区和缓存内存(主要为了提高读写速度)。

由于有缓冲区和缓存这部分内存的存在,所以Linux中的物理内存看上去在很短的时间内就被消耗完了,其实当新的程序调用内存或已有程序调用更多内存时,可以使用缓冲区和缓存这部分内存。

使用free m查看系统内存使用情况:



其中

Mem行:

total表示物理内存减去内核保留的内存

used表示total中已经使用的内存(包含程序使用的内存、bufferscached

free表示total中未使用的物理内存

buffers与某个块设备关联,包含了文件系统元数据,其中放得是对象的数据结构,并且跟踪了块的变化。

cached包含了文件本身,其中存放的是无结构的块数据。

 

-/+ buffers/cache行:

used表示程序运行占用的内存。

free表示系统可以使用的内存(包含了bufferscached)。

 

Swap行:

total表示系统的总的虚拟内存

used表示系统已经使用的虚拟内存。

free表示系统未使用的空闲虚拟内存。

 

其中存在以下的等式关系

Memtotal= Menused+ Menfree

Memused=内核使用内存+程序使用内存+ Membuffers+ Memcached

程序使用内存= Memtotal- Membuffers- Memcached

= -/+ buffers/cacheused

程序还可以申请的内存<= Menfree+ Membuffers+ Memcached

<= -/+ buffers/cachefree

 

  由上可以看出,衡量内存是否够用可以查看-/+ buffers/cachefree)和虚拟内存的使用率。

猜你喜欢

转载自xjward.iteye.com/blog/1814789