Update Markdown string.

This commit is contained in:
jaywcjlove 2019-09-23 17:29:29 +08:00
parent c5de6c85a7
commit 6cd798719d
5 changed files with 47 additions and 285 deletions

View File

@ -54,144 +54,75 @@ Ethtool命令显示的信息来源于网卡驱动层即TCP/ip协议的链路
网卡驱动负责实现(部分)这些函数,并将其封装入`ethtool_ops`结构体,为网络核心层提供统一的调用接口。因此,不同的网卡驱动会给应用层返回不同的信息。`Ethtool命令选项`、`struct ethtool_ops成员函数`、`Ethtool命令显示参数的来源`,三者间的对应关系如下表所示:
<table>
<tbody>
<tr>
<th style="width: 100px;">命令选项</th>
<th>struct ethtool_ops成员函数</th>
<th>Ethtool命令显示参数的来源以网卡驱动BNX2为例</th>
</tr>
<th>Ethtool命令显示参数的来源以网卡驱动BNX2为例</th></tr>
<tr>
<td>无 -s</td>
<td>get_settingsget_wol get_msglevel get_link set_settings set_wol set_msglevel</td>
<td>从网卡寄存器中获得网卡速度等信息,可配置。</td>
</tr>
<tr>
<td>-a -A</td>
<td>get_pauseparam set_pauseparam</td>
<td>从网卡寄存器中获得Autonegotiate/RX/TX模块的状态on oroff可配置。</td>
</tr>
<tr>
<td>-c -C</td>
<td>get_coalesceset_coalesce</td>
<td>从网卡寄存器中获得coalescing参数TX/RX一个数据包后推迟发生TX/RX中断的时间(us)/数据包个数。—减小该值可以提高网卡的响应时间。 当rx-usecs&rx-frames同时被设为0时RX中断停止。 当tx-usecs&tx-frames同时被设为0时TX中断停止。</td>
</tr>
<tr>
<td>-g -G</td>
<td>get_ringparam set_ringparam</td>
<td>除当前TX/RX ring的值从网卡寄存器中读取得到可配置其它为网卡bnx2自己固定的信息。</td>
</tr>
<tr>
<td>-k -K</td>
<td>get_rx_csumget_tx_csum get_sg get_tso set_rx_csum set_tx_csum set_sg set_tso</td>
<td>显示信息从保存该状态的变量中读取得到没有对应的寄存器。因此TX/RX校验等模块一直处于on状态实际上是无法修改的。</td>
</tr>
<tr>
<td>-i</td>
<td>get_drvinfo[self_test_count, get_stats_coun,t get_regs_len, get_eeprom_len]</td>
<td>网卡bnx2自己固定的信息
——————————————————–
driver: bnx2 version: 1.4.30 firmware-version: 1.8.0.5 bus-info: 0000:09:00.0
——————————————————–</td>
</tr>
<tr>
<td>-d</td>
<td>get_drvinfoget_regs</td>
<td>不支持即bnx2中没有实现函数get_regs。</td>
</tr>
<tr>
<td>-e -E</td>
<td>get_eepromset_eeprom</td>
<td>不支持即bnx2中没有实现函数get_eeprom。</td>
</tr>
<tr>
<td>-r</td>
<td>nway_reset</td>
<td>配置网卡MII_BMCR寄存器重启Auto negotiation模块。</td>
</tr>
<tr>
<td>-p</td>
<td>phys_id</td>
<td>配置网卡BNX2_EMAC_LED寄存器实现LED闪功能。</td>
</tr>
<tr>
<td>-t</td>
<td>self_test</td>
<td>通过配置网卡寄存器逐一测试网卡的硬件模块registersmemoryloopbackLink statinterrupt。</td>
</tr>
<tr>
<td>-S</td>
<td>get_ethtool_stats</td>
<td>显示信息来源于网卡驱动中的结构体变量stats_blk。网卡通过DMA方式将寄存器BNX2_HC_STATISTICS _ADDR_L和BNX2_HC_STATISTICS_ADDR_H中的数据实时地读取到结构体变量struct statistics_block *stats_blk中。 —显示的数据都是从网卡寄存器中统计得到的,各项的含义需查询网卡(芯片)手册。</td>
</tr>
</tbody>
</table>
由上可见ethtool命令用于显示/配置网卡硬件(寄存器)。  

View File

@ -23,90 +23,20 @@ gdb(选项)(参数)
-s设置读取的符号表文件。
```
<table border="0" cellpadding="0" cellspacing="0">
<tbody>
<tr>
<th>命令</th>
<th>解释</th>
<th>示例</th>
</tr>
<tr>
<td>file <文件名></td>
<td>加载被调试的可执行程序文件。
因为一般都在被调试程序所在目录下执行GDB因而文本名不需要带路径。</td>
<td>(gdb) file gdb-sample</td>
</tr>
<tr>
<td>r</td>
<td>Run的简写运行被调试的程序。
如果此前没有下过断点,则执行完整个程序;如果有断点,则程序暂停在第一个可用断点处。</td>
<td>(gdb) r</td>
</tr>
<tr>
<td>c</td>
<td>Continue的简写继续执行被调试程序直至下一个断点或程序结束。</td>
<td>(gdb) c</td>
</tr>
<tr>
<td>b <行号>
b <函数名称>
b *<函数名称>
b *<代码地址> d [编号]</td>
<td>b: Breakpoint的简写设置断点。两可以使用“行号”“函数名称”“执行地址”等方式指定断点位置。
其中在函数名称前面加“*”符号表示将断点设置在“由编译器生成的prolog代码处”。如果不了解汇编可以不予理会此用法。 d: Delete breakpoint的简写删除指定编号的某个断点或删除所有断点。断点编号从1开始递增。</td>
<td>(gdb) b 8
(gdb) b main
(gdb) b *main
(gdb) b *0x804835c (gdb) d</td>
</tr>
<tr>
<td>s, n</td>
<td>s: 执行一行源程序代码,如果此行代码中有函数调用,则进入该函数;
n: 执行一行源程序代码,此行代码中的函数调用也一并执行。 s 相当于其它调试器中的“Step Into (单步跟踪进入)”;
n 相当于其它调试器中的“Step Over (单步跟踪)”。 这两个命令必须在有源代码调试信息的情况下才可以使用GCC编译时使用“-g”参数</td>
<td>(gdb) s
(gdb) n</td>
</tr>
<tr>
<td>si, ni</td>
<td>si命令类似于s命令ni命令类似于n命令。所不同的是这两个命令si/ni所针对的是汇编指令而s/n针对的是源代码。</td>
<td>(gdb) si
(gdb) ni</td>
</tr>
<tr>
<td>p <变量名称></td>
<td>Print的简写显示指定变量临时变量或全局变量的值。</td>
<td>(gdb) p i
(gdb) p nGlobalVar</td>
</tr>
<tr>
<td>display ... undisplay <编号></td>
<td>display设置程序中断后欲显示的数据及其格式。
例如,如果希望每次程序中断后可以看到即将被执行的下一条汇编指令,可以使用命令
“display /i $pc”
其中 $pc 代表当前汇编指令,/i 表示以十六进行显示。当需要关心汇编代码时,此命令相当有用。 undispaly取消先前的display设置编号从1开始递增。</td>
<td>(gdb) display /i $pc (gdb) undisplay 1</td>
</tr>
<tr>
<td>i</td>
<td>info的简写用于显示各类信息详情请查阅“help i”。</td>
<td>(gdb) i r</td>
</tr>
<tr>
<td>q</td>
<td>Quit的简写退出GDB调试环境。</td>
<td>(gdb) q</td>
</tr>
<tr>
<td>help [命令名称]</td>
<td>GDB帮助命令提供对GDB名种命令的解释说明。
如果指定了“命令名称”参数则显示该命令的详细说明如果没有指定参数则分类显示所有GDB命令供用户进一步浏览和查询。</td>
<td>(gdb) help</td>
</tr>
</tbody>
</table>
命令 | 解释 | 示例
--- | --- | ---
file <文件名> | 加载被调试的可执行程序文件。<br /> 因为一般都在被调试程序所在目录下执行GDB因而文本名不需要带路径。 | (gdb) file gdb-sample
r | Run的简写运行被调试的程序。<br /> 如果此前没有下过断点,则执行完整个程序;如果有断点,则程序暂停在第一个可用断点处。 | (gdb) r
c | Continue的简写继续执行被调试程序直至下一个断点或程序结束。 | (gdb) c
b <行号><br />b <函数名称><br />b *<函数名称><br />b *<代码地址> d [编号] | b: Breakpoint的简写设置断点。两可以使用“行号”“函数名称”“执行地址”等方式指定断点位置。 <br /> 其中在函数名称前面加“*”符号表示将断点设置在“由编译器生成的prolog代码处”。如果不了解汇编可以不予理会此用法。 d: Delete breakpoint的简写删除指定编号的某个断点或删除所有断点。断点编号从1开始递增。 | (gdb) b 8(gdb) b main <br /> (gdb) b *main <br /> (gdb) b *0x804835c (gdb) d
s, n | s: 执行一行源程序代码,如果此行代码中有函数调用,则进入该函数;<br /> n: 执行一行源程序代码,此行代码中的函数调用也一并执行。 s 相当于其它调试器中的“Step Into (单步跟踪进入)”;<br /> n 相当于其它调试器中的“Step Over (单步跟踪)”。 这两个命令必须在有源代码调试信息的情况下才可以使用GCC编译时使用“-g”参数。 | (gdb) s <br /> (gdb) n
si, ni | si命令类似于s命令ni命令类似于n命令。所不同的是这两个命令si/ni所针对的是汇编指令而s/n针对的是源代码。 | (gdb) si <br />(gdb) ni
p <变量名称> | Print的简写显示指定变量临时变量或全局变量的值。 | (gdb) p i <br /> (gdb) p nGlobalVar
display ... undisplay <编号> | display设置程序中断后欲显示的数据及其格式。 <br /> 例如,如果希望每次程序中断后可以看到即将被执行的下一条汇编指令,可以使用命令 <br /> “display /i $pc” <br /> 其中 $pc 代表当前汇编指令,/i 表示以十六进行显示。当需要关心汇编代码时,此命令相当有用。 undispaly取消先前的display设置编号从1开始递增。 | (gdb) display /i $pc (gdb) undisplay 1
i | info的简写用于显示各类信息详情请查阅“help i”。 | (gdb) i r
q | Quit的简写退出GDB调试环境。 | (gdb) q
help [命令名称] | GDB帮助命令提供对GDB名种命令的解释说明。<br /> 如果指定了“命令名称”参数则显示该命令的详细说明如果没有指定参数则分类显示所有GDB命令供用户进一步浏览和查询。 | (gdb) help
### 参数

View File

@ -106,48 +106,17 @@ path=$1
* `--timefmt`是指定时间的输出格式。
* `--format`指定文件变化的详细信息。
### # 可监听的事件
<table border="0" height="193" style="width: 100%;" width="74">
<tbody>
<tr>
<th>事件</th>
<th>描述</th>
</tr>
<tr>
<td>access</td>
<td> **访问** ,读取文件。</td>
</tr>
<tr>
<td>modify</td>
<td> **修改** ,文件内容被修改。</td>
</tr>
<tr>
<td>attrib</td>
<td> **属性** ,文件元数据被修改。</td>
</tr>
<tr>
<td>move</td>
<td> **移动** ,对文件进行移动操作。</td>
</tr>
<tr>
<td>create</td>
<td> **创建** ,生成新文件</td>
</tr>
<tr>
<td>open</td>
<td> **打开** ,对文件进行打开操作。</td>
</tr>
<tr>
<td>close</td>
<td> **关闭** ,对文件进行关闭操作。</td>
</tr>
<tr>
<td>delete</td>
<td> **删除** ,文件被删除。</td>
</tr>
</tbody>
</table>
### 可监听的事件
事件 | 描述
--- | ---
access | **访问** ,读取文件。
modify | **修改** ,文件内容被修改。
attrib | **属性** ,文件元数据被修改。
move | **移动** ,对文件进行移动操作。
create | **创建** ,生成新文件
open | **打开** ,对文件进行打开操作。
close | **关闭** ,对文件进行关闭操作。
delete | **删除** ,文件被删除。
<!-- Linux命令行搜索引擎https://jaywcjlove.github.io/linux-command/ -->

View File

@ -53,70 +53,23 @@ sda1 0.02 0.08
详细说明第二行是系统信息和监测时间第三行和第四行显示CPU使用情况具体内容和mpstat命令相同。这里主要关注后面I/O输出的信息如下所示
<table>
<tbody>
<tr>
<th>标示</th>
<th>说明</th>
</tr>
<tr>
<td>Device</td>
<td>监测设备名称</td>
</tr>
<tr>
<td>rrqm/s</td>
<td>每秒需要读取需求的数量</td>
</tr>
<tr>
<td>wrqm/s</td>
<td>每秒需要写入需求的数量</td>
</tr>
<tr>
<td>r/s </td>
<td>每秒实际读取需求的数量</td>
</tr>
<tr>
<td>w/s</td>
<td>每秒实际写入需求的数量</td>
</tr>
<tr>
<td>rsec/s</td>
<td>每秒读取区段的数量</td>
</tr>
<tr>
<td>wsec/s</td>
<td>每秒写入区段的数量</td>
</tr>
<tr>
<td>rkB/s</td>
<td>每秒实际读取的大小单位为KB</td>
</tr>
<tr>
<td>wkB/s</td>
<td>每秒实际写入的大小单位为KB</td>
</tr>
<tr>
<td>avgrq-sz</td>
<td>需求的平均大小区段</td>
</tr>
<tr>
<td>avgqu-sz</td>
<td>需求的平均队列长度</td>
</tr>
<tr>
<td>await</td>
<td>等待I/O平均的时间milliseconds</td>
</tr>
<tr>
<td>svctm</td>
<td>I/O需求完成的平均时间</td>
</tr>
<tr>
<td>%util</td>
<td>被I/O需求消耗的CPU百分比</td>
</tr>
</tbody>
</table>
标示 | 说明
--- | ---
Device | 监测设备名称
rrqm/s | 每秒需要读取需求的数量
wrqm/s | 每秒需要写入需求的数量
r/s | 每秒实际读取需求的数量
w/s | 每秒实际写入需求的数量
rsec/s | 每秒读取区段的数量
wsec/s | 每秒写入区段的数量
rkB/s | 每秒实际读取的大小单位为KB
wkB/s | 每秒实际写入的大小单位为KB
avgrq-sz | 需求的平均大小区段
avgqu-sz | 需求的平均队列长度
await | 等待I/O平均的时间milliseconds
svctm | I/O需求完成的平均时间
%util | 被I/O需求消耗的CPU百分比
<!-- Linux命令行搜索引擎https://jaywcjlove.github.io/linux-command/ -->

View File

@ -239,32 +239,11 @@ exit_group(0) = ?
这是一个很有用的功能strace会将每次系统调用的发生时间记录下来只要使用-t/tt/ttt三个参数就可以看到效果了具体的例子可以自己去尝试。
<table>
<thead>
<tr>
<th>参数名</th>
<th>输出样式</th>
<th>说明</th>
</tr>
</thead>
<tbody>
<tr>
<td>-t</td>
<td>10:33:04 exit_group(0)</td>
<td>输出结果精确到秒</td>
</tr>
<tr>
<td>-tt</td>
<td>10:33:48.159682 exit_group(0)</td>
<td>输出结果精确到微妙</td>
</tr>
<tr>
<td>-ttt</td>
<td>1262169244.788478 exit_group(0)</td>
<td>精确到微妙而且时间表示为unix时间戳</td>
</tr>
</tbody>
</table>
参数名 | 输出样式 | 说明
--- | --- | ---
-t | 10:33:04 exit_group(0) | 输出结果精确到秒
-tt | 10:33:48.159682 exit_group(0) | 输出结果精确到微妙
-ttt | 1262169244.788478 exit_group(0) | 精确到微妙而且时间表示为unix时间戳
**截断输出**