700字范文,内容丰富有趣,生活中的好帮手!
700字范文 > linux 观察应用使用内存的情况 Linux学习笔记:free和top命令查看系统内存使用情况...

linux 观察应用使用内存的情况 Linux学习笔记:free和top命令查看系统内存使用情况...

时间:2021-03-04 23:05:44

相关推荐

linux 观察应用使用内存的情况 Linux学习笔记:free和top命令查看系统内存使用情况...

free 命令

Linux free 命令用于显示内存状态。

free 指令会显示内存的使用情况,包括实体内存,虚拟的交换文件内存,共享内存区段,以及系统核心使用的缓冲区等。

语法:

free [-bkmotV] [-s ]

参数说明:

-b:以 Byte 为单位显示内存使用情况

-k:以 KB 为单位显示内存使用情况

-m:以 MB 为单位显示内存使用情况

-h:以合适的单位显示内存使用情况,最大为三位数,自动计算对应的单位值。单位有:

B = bytes

K = kilos

M = megas

G = gigas

T = teras

-s:持续观察内存使用状况

-t:显示内存总和列

-V:显示版本信息

其中,最常使用 free -h,以适于人类可读方式显示内存信息。-h 与其他命令最大不同是 -h 选项会在数字后面加上适于人类可读的单位。

实例:

# free // 显示内存使用情况

total used free shared buffers cached

Mem: 32948032 31913588 1034444 0 136048 28992904

-/+ buffers/cache: 2784636 30163396

Swap: 8193140 1071708 7121432

# free // 周期性查询内存使用情况 每5s执行一次命令

total used free shared buffers cached

Mem: 32948032 31913588 1034444 0 136048 28992904

-/+ buffers/cache: 2784636 30163396

Swap: 8193140 1071708 7121432

root@:[/home/iod_etl/BDC]free -s 5

total used free shared buffers cached

Mem: 32948032 31914832 1033200 0 136256 29001032

-/+ buffers/cache: 2777544 30170488

Swap: 8193140 1071708 7121432

total used free shared buffers cached

Mem: 32948032 31915684 1032348 0 136268 29001020

-/+ buffers/cache: 2778396 30169636

Swap: 8193140 1071708 7121432

total used free shared buffers cached

Mem: 32948032 31915992 1032040 0 136280 29002476

-/+ buffers/cache: 2777236 30170796

Swap: 8193140 1071708 7121432

## 使用 -s 命令每隔一段时间输出一次内存的使用情况

## 直到按下 ctrl + C

结果解读:

total:表示总计物理内存大小

used:表示已用内存

free:表示可用内存

shared:表示多个进程共享的内存总额

buffers/cached:表示磁盘缓存大小

avaiable:可用内存

free 命令背后是复杂的操作系统概念,有一定的了解即可。

top 命令

Linux top 命令用于实时显示 process 的动态。

所有使用者都可以使用。

top 命令是 Linux 下常用的性能分析工具,能够实时显示系统中各个进程的资源占用状况,类似于 Windows 的任务管理器。

语法:

top [-] [d delay] [q] [c] [S] [s] [i] [n] [b]

参数说明:

d : 改变显示的更新速度,或是在交谈式指令列 (interactive command) 按 s

q : 没有任何延迟的显示速度,如果使用者是有 superuser 的权限,则 top 将会以最高的优先序执行

c : 切换显示模式,共有两种模式,一是只显示执行档的名称,另一种是显示完整的路径与名称S : 累积模式,会将己完成或消失的子行程 ( dead child process ) 的 CPU time 累积起来

s : 安全模式,将交谈式指令取消, 避免潜在的危机

i : 不显示任何闲置 (idle) 或无用 (zombie) 的行程

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

b : 批次档模式,搭配 "n" 参数一起使用,可以用来将 top 的结果输出到档案内

实例:

# top // 显示进程信息

root@:top

top - 17:39:37 up 1007 days, 7:38, 4 users, load average: 0.30, 0.39, 0.46

Tasks: 691 total, 1 running, 689 sleeping, 0 stopped, 1 zombie

Cpu(s): 0.0%us, 0.1%sy, 0.0%ni, 99.6%id, 0.1%wa, 0.1%hi, 0.1%si, 0.0%st

Mem: 32948032k total, 31899900k used, 1048132k free, 139076k buffers

Swap: 8193140k total, 1071708k used, 7121432k free, 28981768k cached

PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND

19666 xx 15 0 50908 1152 560 S 1.3 0.0 226:18.18 vsftpd

31288 root 15 0 13136 1572 808 R 1.0 0.0 0:00.18 top

1917 xx 15 0 50908 1112 560 S 0.7 0.0 63:36.78 vsftpd

1923 xx 15 0 50908 1156 560 S 0.7 0.0 225:32.57 vsftpd

清除缓存

清理已使用缓存(buff/cache),可以使用以下命令:

## 清理 buff/cache

sync; echo 3 > /proc/sys/vm/drop_caches

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。