lha
压缩或解压缩lzh格式文件
补充说明
lha命令 是从lharc演变而来的压缩程序,文件经它压缩后,会另外产生具有.lzh
扩展名的压缩文件。
选项
1 | -a或a:压缩文件,并加入到压缩文件内。 |
实例
1 | lha -a abc.lhz a.b #压缩a.b文件,压缩后生成 abc.lhz 文件 |
压缩或解压缩lzh格式文件
lha命令 是从lharc演变而来的压缩程序,文件经它压缩后,会另外产生具有.lzh
扩展名的压缩文件。
1 | -a或a:压缩文件,并加入到压缩文件内。 |
1 | lha -a abc.lhz a.b #压缩a.b文件,压缩后生成 abc.lhz 文件 |
InnoDB 是 MySQL 默认的事务型存储引擎,只有在需要 InnoDB 不支持的特性时,才考虑使用其它存储引擎。
实现了四个标准的隔离级别,默认级别是可重复读(REPEATABLE READ)。在可重复读隔离级别下,通过多版本并发控制(MVCC)+ 间隙锁(next-key locking)防止幻影读。
主索引是聚簇索引,在索引中保存了数据,从而避免直接读取磁盘,因此对查询性能有很大的提升。
内部做了很多优化,包括从磁盘读取数据时采用的可预测性读、能够加快读操作并且自动创建的自适应哈希索引、能够加速插入操作的插入缓冲区等。
支持真正的在线热备份。其它存储引擎不支持在线热备份,要获取一致性视图需要停止对所有表的写入,而在读写混合场景中,停止写入可能也意味着停止读取。
显示或修改以太网卡的配置信息
ethtool命令用于获取以太网卡的配置信息,或者修改这些配置。这个命令比较复杂,功能特别多。
1 | ethtool [ -a | -c | -g | -i | -d | -k | -r | -S |] ethX |
1 | -a 查看网卡中 接收模块RX、发送模块TX和Autonegotiate模块的状态:启动on 或 停用off。 |
Ethtool命令显示的信息来源于网卡驱动层,即TCP/ip协议的链路层。该命令在Linux内核中实现的逻辑层次为:
最重要的结构体struct ethtool_ops
,该结构体成员为用于显示或修改以太网卡配置的一系列函数指针,见下表中的第二列。
网卡驱动负责实现(部分)这些函数,并将其封装入ethtool_ops
结构体,为网络核心层提供统一的调用接口。因此,不同的网卡驱动会给应用层返回不同的信息。Ethtool命令选项
、struct ethtool_ops成员函数
、Ethtool命令显示参数的来源
,三者间的对应关系如下表所示:
命令选项 | struct ethtool_ops成员函数 | Ethtool命令显示参数的来源(以网卡驱动BNX2为例) |
---|---|---|
无 -s | get_settingsget_wol get_msglevel get_link set_settings set_wol set_msglevel | 从网卡寄存器中获得网卡速度等信息,可配置。 |
-a -A | get_pauseparam set_pauseparam | 从网卡寄存器中获得Autonegotiate/RX/TX模块的状态:on oroff,可配置。 |
-c -C | get_coalesceset_coalesce | 从网卡寄存器中获得coalescing参数:TX/RX一个数据包后,推迟发生TX/RX中断的时间(us)/数据包个数。—减小该值可以提高网卡的响应时间。 当rx-usecs&rx-frames同时被设为0时,RX中断停止。 当tx-usecs&tx-frames同时被设为0时,TX中断停止。 |
-g -G | get_ringparam set_ringparam | 除当前TX/RX ring的值(从网卡寄存器中读取得到,可配置)外,其它为网卡bnx2自己固定的信息。 |
-k -K | get_rx_csumget_tx_csum get_sg get_tso set_rx_csum set_tx_csum set_sg set_tso | 显示信息从保存该状态的变量中读取得到,没有对应的寄存器。因此,TX/RX校验等模块一直处于on状态,实际上是无法修改的。 |
-i | get_drvinfo[self_test_count, get_stats_coun,t get_regs_len, get_eeprom_len] | 网卡bnx2自己固定的信息,如: ——————————————————– driver: bnx2 version: 1.4.30 firmware-version: 1.8.0.5 bus-info: 0000:09:00.0 ——————————————————– |
-d | get_drvinfoget_regs | 不支持,即bnx2中没有实现函数get_regs。 |
-e -E | get_eepromset_eeprom | 不支持,即bnx2中没有实现函数get_eeprom。 |
-r | nway_reset | 配置网卡MII_BMCR寄存器,重启Auto negotiation模块。 |
-p | phys_id | 配置网卡BNX2_EMAC_LED寄存器,实现LED闪功能。 |
-t | self_test | 通过配置网卡寄存器,逐一测试网卡的硬件模块:registers,memory,loopback,Link stat,interrupt。 |
-S | get_ethtool_stats | 显示信息来源于网卡驱动中的结构体变量stats_blk。(网卡通过DMA方式,将寄存器BNX2_HC_STATISTICS _ADDR_L和BNX2_HC_STATISTICS_ADDR_H中的数据实时地读取到结构体变量struct statistics_block *stats_blk中。) —显示的数据都是从网卡寄存器中统计得到的,各项的含义需查询网卡(芯片)手册。 |
由上可见,ethtool命令用于显示/配置网卡硬件(寄存器)。
查看机器上网卡的速度:百兆还是千兆,请输入:
1 | ethool eth0 |
操作完毕后,输出信息中Speed:
这一项就指示了网卡的速度。停止网卡的发送模块TX,请输入:
1 | ethtool -A tx off eth0 |
操作完毕后,可输入ethtool -a eth0
,查看tx模块是否已被停止。查看网卡eth0采用了何种驱动,请输入:
1 | ethtool -i eth0 |
操作完毕后,显示 driver: bnx2;version: 1.4.30 等信息。关闭网卡对收到的数据包的校验功能,请输入:
1 | ethtool -K eth0 rx off |
操作完毕后,可输入ethtool –k eth0
,查看校验功能是否已被停止。如果机器上安装了两块网卡,那么eth0对应着哪块网卡呢?输入:
1 | ethtool -p eth0 10 |
操作完毕后,看哪块网卡的led灯在闪,eth0就对应着哪块网卡。查看网卡,在接收/发送数据时,有没有出错?请输入:
1 | ethtool –S eth0 |
将千兆网卡的速度降为百兆,请输入:
1 | ethtool -s eth0 speed 100 |