2014-08-06 11:46:26 +08:00
|
|
|
|
Linux slabtop命令——显示内核片缓存信息
|
2014-07-14 17:42:02 +08:00
|
|
|
|
================================================================================
|
|
|
|
|
|
2014-08-26 16:30:55 +08:00
|
|
|
|
Linux内核需要为临时对象如任务或者设备结构和节点分配内存,缓存分配器管理着这些类型对象的缓存。现代Linux内核部署了该缓存分配器以持有缓存,称之为片。不同类型的片缓存由片分配器维护。本文集中讨论slabtop命令,该命令显示了实时内核片缓存信息。
|
2014-07-14 17:42:02 +08:00
|
|
|
|
|
2014-08-06 11:46:26 +08:00
|
|
|
|
### 1. 命令用法: ###
|
|
|
|
|
|
|
|
|
|
该命令用起来很简单,默认执行时不要求任何参数。但是它要求root特权来读取内核片信息。以普通用户执行该命令会出现以下错误:
|
2014-07-14 17:42:02 +08:00
|
|
|
|
|
|
|
|
|
![Run slabtop as non-privileged user](http://linoxide.com/wp-content/uploads/2014/07/001.slabtop_normal_user.png)
|
|
|
|
|
|
2014-08-06 11:46:26 +08:00
|
|
|
|
你可以在前面设置“sudo”来运行该命令,默认输出见下图:
|
2014-07-14 17:42:02 +08:00
|
|
|
|
|
|
|
|
|
![Slabtop default output](http://linoxide.com/wp-content/uploads/2014/07/002.slabtop_output.png)
|
2014-08-26 16:30:55 +08:00
|
|
|
|
|
2014-08-06 11:46:26 +08:00
|
|
|
|
要退出slabtop,只需敲‘q’,就像在top命令中那样。
|
2014-07-14 17:42:02 +08:00
|
|
|
|
|
2014-08-06 11:46:26 +08:00
|
|
|
|
### 2. Slabtop选项: ###
|
2014-07-14 17:42:02 +08:00
|
|
|
|
|
2014-08-06 11:46:26 +08:00
|
|
|
|
#### 2.1 显示间隔: ####
|
2014-07-14 17:42:02 +08:00
|
|
|
|
|
2014-08-06 11:46:26 +08:00
|
|
|
|
默认情况下,slabtop每隔3秒刷新一次。但是,如果你想要调整,可以使用-d或者--delay=N选项来调整刷新间隔,以秒为单位:
|
2014-07-14 17:42:02 +08:00
|
|
|
|
|
|
|
|
|
![Custom delay interval 01](http://linoxide.com/wp-content/uploads/2014/07/003.slabtop_delay01.png)
|
|
|
|
|
|
|
|
|
|
![Custom delay interval 02](http://linoxide.com/wp-content/uploads/2014/07/004.slabtop_delay02.png)
|
|
|
|
|
|
2014-08-06 11:46:26 +08:00
|
|
|
|
#### 2.2 排序标准: ####
|
2014-07-14 17:42:02 +08:00
|
|
|
|
|
2014-08-06 11:46:26 +08:00
|
|
|
|
在slabtop输出中有很多字段,-s或--sort=S选项可以根据指定的排序标准对这些字段排序。该选项将在下一节中详细讲述。
|
2014-07-14 17:42:02 +08:00
|
|
|
|
|
2014-08-06 11:46:26 +08:00
|
|
|
|
#### 2.3 输出一次: ####
|
2014-07-14 17:42:02 +08:00
|
|
|
|
|
2014-08-26 15:35:09 +08:00
|
|
|
|
-o或--once选项不会刷新输出,它仅仅将一次输出结果丢给STDOUT,然后退出。
|
2014-07-14 17:42:02 +08:00
|
|
|
|
|
|
|
|
|
![Output once and exit](http://linoxide.com/wp-content/uploads/2014/07/005.slabtop_output_once.png)
|
|
|
|
|
|
2014-08-06 11:46:26 +08:00
|
|
|
|
#### 2.4 版本信息: ####
|
2014-07-14 17:42:02 +08:00
|
|
|
|
|
2014-08-06 11:46:26 +08:00
|
|
|
|
-V或--version选项显示命令的版本并退出。
|
2014-07-14 17:42:02 +08:00
|
|
|
|
|
|
|
|
|
![Slabtop version](http://linoxide.com/wp-content/uploads/2014/07/006.slabtop_version.png)
|
|
|
|
|
|
2014-08-06 11:46:26 +08:00
|
|
|
|
#### 2.5 帮助: ####
|
2014-07-14 17:42:02 +08:00
|
|
|
|
|
2014-08-06 11:46:26 +08:00
|
|
|
|
常见选项,-h或--help显示命令的使用帮助。
|
2014-07-14 17:42:02 +08:00
|
|
|
|
|
|
|
|
|
![Slabtop help options](http://linoxide.com/wp-content/uploads/2014/07/007.slabtop_help.png)
|
|
|
|
|
|
2014-08-06 11:46:26 +08:00
|
|
|
|
### 3. 排序标准: ###
|
2014-07-14 17:42:02 +08:00
|
|
|
|
|
2014-08-06 11:46:26 +08:00
|
|
|
|
排序标准确定了哪个片缓存显示在顶部,下面是slabtop的排序标准:
|
2014-07-14 17:42:02 +08:00
|
|
|
|
|
2014-08-06 11:46:26 +08:00
|
|
|
|
#### 3.1 活跃: ####
|
2014-07-14 17:42:02 +08:00
|
|
|
|
|
2014-08-06 11:46:26 +08:00
|
|
|
|
缓存可以通过‘a’来对活跃对象编号进行排序。
|
2014-07-14 17:42:02 +08:00
|
|
|
|
|
|
|
|
|
![Sort by Active 01](http://linoxide.com/wp-content/uploads/2014/07/008.slabtop_sort_active01.png)
|
|
|
|
|
|
|
|
|
|
![Sort by Active 02](http://linoxide.com/wp-content/uploads/2014/07/009.slabtop_sort_active02.png)
|
|
|
|
|
|
2014-08-06 11:46:26 +08:00
|
|
|
|
#### 3.2 对象/分片: ####
|
2014-07-14 17:42:02 +08:00
|
|
|
|
|
2014-08-06 11:46:26 +08:00
|
|
|
|
每分片对象数可以使用“b”来选择。
|
2014-07-14 17:42:02 +08:00
|
|
|
|
|
|
|
|
|
![Sort by objects per slab 01](http://linoxide.com/wp-content/uploads/2014/07/010.slabtop_sort_objslab01.png)
|
|
|
|
|
|
|
|
|
|
![Sort by objects per slab 02](http://linoxide.com/wp-content/uploads/2014/07/011.slabtop_sort_objslab02.png)
|
|
|
|
|
|
2014-08-06 11:46:26 +08:00
|
|
|
|
#### 3.3 缓存大小: ####
|
2014-07-14 17:42:02 +08:00
|
|
|
|
|
2014-08-06 11:46:26 +08:00
|
|
|
|
要选择缓存大小,你需要提供“c”选项。
|
2014-07-14 17:42:02 +08:00
|
|
|
|
|
|
|
|
|
![Sort by cache size 01](http://linoxide.com/wp-content/uploads/2014/07/012.slabtop_sort_cache_size01.png)
|
|
|
|
|
|
|
|
|
|
![Sort by cache size 02](http://linoxide.com/wp-content/uploads/2014/07/013.slabtop_sort_cache_size02.png)
|
|
|
|
|
|
2014-08-06 11:46:26 +08:00
|
|
|
|
#### 3.4 分片: ####
|
2014-07-14 17:42:02 +08:00
|
|
|
|
|
2014-08-06 11:46:26 +08:00
|
|
|
|
分片数量,使用“l”来选择。
|
2014-07-14 17:42:02 +08:00
|
|
|
|
|
|
|
|
|
![Sort by number of slabs 01](http://linoxide.com/wp-content/uploads/2014/07/014.slabtop_sort_slabs01.png)
|
|
|
|
|
|
|
|
|
|
![Sort by number of slabs 02](http://linoxide.com/wp-content/uploads/2014/07/015.slabtop_sort_slabs02.png)
|
|
|
|
|
|
2014-08-06 11:46:26 +08:00
|
|
|
|
#### 3.5 活跃分片: ####
|
2014-07-14 17:42:02 +08:00
|
|
|
|
|
2014-08-06 11:46:26 +08:00
|
|
|
|
活跃分片数量。(注意:这不同于上面讲得活跃对象数量。)使用“v”来根据该标准排序。
|
2014-07-14 17:42:02 +08:00
|
|
|
|
|
|
|
|
|
![Sort by Active Slabs 01](http://linoxide.com/wp-content/uploads/2014/07/016.slabtop_sort_active_slabs01.png)
|
|
|
|
|
|
|
|
|
|
![Sort by Active Slabs 02](http://linoxide.com/wp-content/uploads/2014/07/017.slabtop_sort_active_slabs02.png)
|
|
|
|
|
|
2014-08-06 11:46:26 +08:00
|
|
|
|
#### 3.6 名称: ####
|
2014-07-14 17:42:02 +08:00
|
|
|
|
|
2014-08-06 11:46:26 +08:00
|
|
|
|
缓存名称。相关字符是“n”。
|
2014-07-14 17:42:02 +08:00
|
|
|
|
|
|
|
|
|
![Sort by cache name 01](http://linoxide.com/wp-content/uploads/2014/07/018.slabtop_sort_cache_name01.png)
|
|
|
|
|
|
|
|
|
|
![Sort by cache name 02](http://linoxide.com/wp-content/uploads/2014/07/019.slabtop_sort_cache_name02.png)
|
|
|
|
|
|
2014-08-06 11:46:26 +08:00
|
|
|
|
#### 3.7 对象: ####
|
2014-07-14 17:42:02 +08:00
|
|
|
|
|
2014-08-06 11:46:26 +08:00
|
|
|
|
要根据对象数量排序,使用“o”。
|
2014-07-14 17:42:02 +08:00
|
|
|
|
|
|
|
|
|
![Sort by number of objects 01](http://linoxide.com/wp-content/uploads/2014/07/020.slabtop_sort_objectnunber01.png)
|
|
|
|
|
|
|
|
|
|
![Sort by number of objects 02](http://linoxide.com/wp-content/uploads/2014/07/021.slabtop_sort_objectnunber02.png)
|
|
|
|
|
|
2014-08-06 11:46:26 +08:00
|
|
|
|
#### 3.8 每分片页面数: ####
|
2014-07-14 17:42:02 +08:00
|
|
|
|
|
2014-08-06 11:46:26 +08:00
|
|
|
|
“p”将根据每分片页面数排序。
|
2014-07-14 17:42:02 +08:00
|
|
|
|
|
|
|
|
|
![Sort by pages per slab 01](http://linoxide.com/wp-content/uploads/2014/07/022.slabtop_sort_pagesperslab01.png)
|
|
|
|
|
|
|
|
|
|
![Sort by pages per slab 02](http://linoxide.com/wp-content/uploads/2014/07/023.slabtop_sort_pagesperslab02.png)
|
|
|
|
|
|
2014-08-06 11:46:26 +08:00
|
|
|
|
#### 3.9 对象大小: ####
|
2014-07-14 17:42:02 +08:00
|
|
|
|
|
2014-08-06 11:46:26 +08:00
|
|
|
|
对象大小排序由“s”来指定。
|
2014-07-14 17:42:02 +08:00
|
|
|
|
|
|
|
|
|
![Sort by object size 01](http://linoxide.com/wp-content/uploads/2014/07/024.slabtop_sort_object_size01.png)
|
|
|
|
|
|
|
|
|
|
![Sort by object size 02](http://linoxide.com/wp-content/uploads/2014/07/025.slabtop_sort_object_size02.png)
|
|
|
|
|
|
2014-08-06 11:46:26 +08:00
|
|
|
|
#### 3.10 使用: ####
|
2014-07-14 17:42:02 +08:00
|
|
|
|
|
2014-08-06 11:46:26 +08:00
|
|
|
|
“u”选项根据缓存使用量排序。
|
2014-07-14 17:42:02 +08:00
|
|
|
|
|
|
|
|
|
![Sort by cache utilization 01](http://linoxide.com/wp-content/uploads/2014/07/026.slabtop_sort_cache_utilization01.png)
|
|
|
|
|
|
|
|
|
|
![Sort by cache utilization 02](http://linoxide.com/wp-content/uploads/2014/07/027.slabtop_sort_cache_utilization02.png)
|
|
|
|
|
|
|
|
|
|
--------------------------------------------------------------------------------
|
|
|
|
|
|
|
|
|
|
via: http://linoxide.com/linux-command/kernel-slab-cache-information/
|
|
|
|
|
|
2014-08-06 11:46:26 +08:00
|
|
|
|
译者:[GOLinux](https://github.com/GOLinux) 校对:[校对者ID](https://github.com/校对者ID)
|
2014-07-14 17:42:02 +08:00
|
|
|
|
|
2014-08-06 11:09:59 +08:00
|
|
|
|
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出
|