top命令详解与Swap缓存设置

Swap虚拟内存设置

脚本不支持OpenVZ架构,安装会自动退出.

运行命令:

wget https://www.quchao.net/dl/swap.sh && bash swap.sh

默认单位为 M,填写时为纯数字

Linux查看CPU和内存使用情况

top命令

top命令是Linux下常用的性能分析工具,能够实时显示系统中各个进程的资源占用状况,类似于Windows的任务管理器. 运行top命令后,CPU 使用状态会以全屏的方式显示,并且会处在对话的模式 -- 用基于top的命令,可以控制显示方式等等.退出top的命令为 q (在top运行中敲 q 键一次).

内容解释:

第一行 - top

  • 15:36:22 : 系统的当前时刻.

  • 16 days : 系统启动后到现在的运作时间.

  • 1 user : 当前登录到系统的用户,更确切的说是登录到用户的终端数 -- 同一个用户同一时间对系统多个终端的连接将被视为多个用户连接到系统,这里的用户数也将表现为终端的数目.

  • load average : 当前系统负载的平均值,后面的三个值分别为1分钟前、5分钟前、15分钟前进程的平均数,一般的可以认为这个数值超过 CPU 数目时,CPU 将比较吃力的负载当前系统所包含的进程.

第二行 - Tasks

  • 80 total : 当前系统进程总数.

  • 1 running : 当前运行中的进程数.

  • 79 sleeping : 当前处于等待状态中的进程数.

  • 0 stoped : 被停止的系统进程数.

  • 0 zombie : 僵尸进程数.

第三行 - Cpu(s)

  • 6.7 us : 用户空间占用CPU百分比.

  • 0.0 sy : 内核空间占用CPU百分比.

  • 0.0 ni : 用户进程空间内改变过优先级的进程占用CPU百分比.

  • 93.3 id : 空闲CPU百分比.

  • 0.0 wa : 等待输入输出的CPU时间百分比.

  • 0.0 hi

  • 0.0 si

  • 0.0 st

第四行 - KiB Mem

KiB 为单位

  • 1883724 total : 物理内存总量.

  • 882028 free : 使用的物理内存总量.

  • 531180 used : 空闲内存总量.

  • 470516 budd/cache : 用作内核缓存的内存量.

第五行 - KiB Swap

表示类别同第四行(Mem),但此处反映着交换分区(Swap)的使用情况.通常,交换分区(Swap)被频繁使用的情况,将被视作物理内存不足而造成的.

  • 4095996 total : 交换区总量.

  • 4095996 free : 使用的交换区总量.

  • 0 used : 空闲交换区总量.

  • 1175544 avail Mem : 缓冲的交换区总量.

最下部分的进程列表栏

以 PID 区分的进程列表将根据所设定的画面更新时间定期的更新.通过 top 内部命令可以控制此处的显示方式:

  • PID : 进程的ID.

  • USER : 进程所有者.

  • PR : 进程的优先级别,越小越优先被执行.

  • NInice : 值.

  • VIRT : 进程占用的虚拟内存.

  • RES : 进程占用的物理内存.

  • SHR : 进程使用的共享内存.

  • S : 进程的状态.S表示休眠,R表示正在运行,Z表示僵死状态,N表示该进程优先值为负数.

  • %CPU : 进程占用CPU的使用率.

  • %MEM : 进程使用的物理内存和总内存的百分比.

  • TIME+ : 该进程启动后占用的总的CPU时间,即占用CPU使用时间的累加值..

  • COMMAND : 进程启动命令名称.

top 内部命令

top 运行中可以通过 top 的内部命令对进程的显示方式进行控制.内部命令如下表:

  • s - 改变画面更新频率

  • l - 关闭或开启第一部分第一行 top 信息的表示

  • t - 关闭或开启第一部分第二行 Tasks 和第三行 Cpus 信息的表示

  • m - 关闭或开启第一部分第四行 Mem 和 第五行 Swap 信息的表示

  • N - 以 PID 的大小的顺序排列表示进程列表(第三部分后述)

  • P - 以 CPU 占用率大小的顺序排列进程列表 (第三部分后述)

  • M - 以内存占用率大小的顺序排列进程列表 (第三部分后述)

  • h - 显示帮助

  • n - 设置在进程列表所显示进程的数量

  • q - 退出 top

  • s -改变画面更新周期

ps命令

ps命令用于报告当前系统的进程状态.ps命令是最基本同时也是非常强大的进程查看命令,使用该命令可以确定有哪些进程正在运行和运行的状态、进程是否结束、进程有没有僵死、哪些进程占用了过多的资源等等,总之大部分信息都是可以通过执行该命令得到的.

  • F 代表这个程序的旗标 (flag),4 代表使用者为 super user;

  • S 代表这个程序的状态 (STAT);

  • PID 程序的 ID ;

  • C CPU 使用的资源百分比

  • PRI 这个是 Priority (优先执行序) 的缩写;

  • NI 这个是 Nice 值.

  • ADDR 这个是 kernel function,指出该程序在内存的那个部分.如果是个running # - 的程序,一般就是『 - 』

  • SZ 使用掉的内存大小;

  • WCHAN 目前这个程序是否正在运作当中,若为 - 表示正在运作;

  • TTY 登入者的终端机位置;

  • TIME 使用掉的 CPU 时间;

  • CMD 所下达的指令;

free命令

free命令可以显示当前系统未使用的和已使用的内存数目,还可以显示被内核使用的内存缓冲区.

下面是对这些数值的解释:

  • total:总计物理内存的大小.

  • used:已使用多大.

  • free:可用有多少.

  • Shared:多个进程共享的内存总额.

  • Buffers/cached:磁盘缓存的大小.

第三行(-/+ buffers/cached):

  • used:已使用多大.

  • free:可用有多少.

Last updated

Was this helpful?