今日は、 "netutils-linux"と呼ばれる便利なユーティリティのコレクションについて説明します。 これは、Linuxネットワークのトラブルシューティングとパフォーマンスの調整を簡素化するために使用できます。このLinuxutilsスイートは、Linuxパフォーマンスチューニングプロセスをすぐに自動化するのに役立ちます。 Netutils-linuxは、次のツールで構成されています。
- network-top
- snmptop
- irqtop
- softirq-top
- リンクレート
- softnet-stat-top
- rss-はしご
- autorps
- maximum-cpu-freq
- rx-buffers-increase
- server-info
Netutils-linux-Linuxネットワークのトラブルシューティングとパフォーマンスの調整を簡素化
Netutils-linuxのインストール
Netutils-linuxは、Pythonプログラミング言語を使用して開発されています。そのため、 pipを使用して簡単にインストールできます 。
Arch Linuxとその派生物では、次のコマンドを実行してpipをインストールします。
sudo pacman -S python-pip
Debian、Ubuntu、Linux Mintの場合:
sudo apt-get install python-pip
RHEL、Fedora、CentOSの場合:
sudo yum install python-pip
または、
sudo dnf install python-pip
SUSE / openSUSEの場合:
sudo zypper install python-pip
PIPをインストールした後、次のコマンドを実行して netutils-linuxをインストールします :
sudo pip install netutils-linux
サンプル出力は次のようになります:
Collecting netutils-linux Downloading netutils-linux-2.3.1.tar.gz Collecting pyyaml (from netutils-linux) Downloading PyYAML-3.12.tar.gz (253kB) 100% |████████████████████████████████| 256kB 221kB/s Collecting ipaddress (from netutils-linux) Downloading ipaddress-1.0.18-py2-none-any.whl Collecting six (from netutils-linux) Downloading six-1.10.0-py2.py3-none-any.whl Collecting colorama (from netutils-linux) Downloading colorama-0.3.9-py2.py3-none-any.whl Collecting prettytable (from netutils-linux) Downloading prettytable-0.7.2.zip Requirement already satisfied (use --upgrade to upgrade): argparse in /usr/lib/python2.7 (from netutils-linux) Installing collected packages: pyyaml, ipaddress, six, colorama, prettytable, netutils-linux Running setup.py install for pyyaml ... done Running setup.py install for prettytable ... done Running setup.py install for netutils-linux ... done Successfully installed colorama-0.3.9 ipaddress-1.0.18 netutils-linux-2.3.1 prettytable-0.7.2 pyyaml-3.12 six-1.10.0>
使用法
導入部で述べたように、Netutils-linuxには、ネットワークのトラブルシューティングとパフォーマンスの調整を目的として特別に設計されたユーティリティが多数含まれています。すべてのユーティリティは、次の3つのセクションに分類されます。
- 監視
- 調整
- ハードウェアとその構成評価
1。監視
これらすべてのトップ -監視セクションに該当するツールのように、rootまたはsudo権限は必要ありません。通常のユーザーとして使用できます。
ネットワークトップ
このユーティリティを使用すると、デバイスとCPUの割り込み、ソフト割り込み、ネットワーク処理統計を監視できます。このユーティリティを実行するには、次のように入力します。
network-top
これが私のUbuntu16.04LTSサーバーからの出力例です。
このユーティリティを終了するには、 CTRL-Cを押します。 。
Snmptop
これは基本的な/proc / net / smmp ファイルウォッチャー。
このユーティリティを実行するには、次のコマンドを入力します。
snmptop
irqtop
このユーティリティは、 / proc /interruptsに基づいて割り込みの割合を表示します Linuxシステムのファイル。
コマンドを使用してこのユーティリティを実行します:
irqtop
Softirq-top
/ proc / softirqsに基づいたパケットの送受信速度を示します ファイル。
リンクレート
/ sys / class / net / XXX / statistics / YYY に基づいて、ネットワークインターフェイスが送受信するパケット/バイト数と発生したエラー数を示します。 ファイル。
Softnet-stat-top
LinuxボックスのCPUごとのパケット処理のさまざまな統計が表示されます。
2。チューニング
これらのツールを実行するには、rootまたはsudoユーザーのいずれかである必要があります。
rss-ladder
通常はCPU0ですぐに機能するNICrx/txキューのIRQにsmp_affinity_listを自動的に設定します。
rss-ladder enp0s3 0
Autorps
これにより、すべてのNICのrxキューのNICに対してローカルなNUMAノードの使用可能なすべてのCPUでRPSが有効になります。安価なネットワークインターフェイスカードに適しています。
例:
$ sudo autorps enp0s3 Using mask '1' for enp0s3-rx-0
maximum-cpu-freq
このユーティリティは、すべてのCPUスケーリングガバナーモードをパフォーマンスに設定し、最小スケーリング値に最大スケーリング値を設定します。したがって、プロセッサのすべての能力を使用できます。レイテンシーに敏感なシステムには非常に便利です。
rx-buffers-増加
このユーティリティは、パケットのドロップ/欠落を回避することとレイテンシを低く保つことの間の妥協値を見つけて設定します。
例:
$ sudo ethtool -g enp0s3 Ring parameters for enp0s3: Pre-set maximums: RX: 4096 RX Mini: 0 RX Jumbo: 0 TX: 4096 Current hardware settings: RX: 256 RX Mini: 0 RX Jumbo: 0 TX: 256
$ sudo rx-buffers-increase enp0s3 run: ethtool -G enp0s3 rx 2048
$ sudo rx-buffers-increase enp0s3 enp0s3's rx ring buffer already has fine size.
$ sudo ethtool -g enp0s3 Ring parameters for enp0s3: Pre-set maximums: RX: 4096 RX Mini: 0 RX Jumbo: 0 TX: 4096 Current hardware settings: RX: 2048 RX Mini: 0 RX Jumbo: 0 TX: 256
ハードウェアとその構成評価
サーバー情報
このユーティリティはlshwに似ています コマンド。
$ sudo server-info show cpu: info: Architecture: x86_64 BogoMIPS: 4589 Byte Order: Little Endian CPU MHz: 2294 CPU family: 6 CPU op-mode(s): 32-bit, 64-bit CPU(s): 1 Core(s) per socket: 1 Flags: fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush mmx fxsr sse sse2 syscall nx rdtscp lm constant_tsc rep_good nopl xtopology nonstop_tsc pni pclmulqdq monitor ssse3 cx16 sse4_1 sse4_2 popcnt xsave avx hypervisor lahf_lm Hypervisor vendor: KVM L1d cache: 32K L1i cache: 32K L2 cache: 256K L3 cache: 3072K Model: 42 Model name: Intel(R) Core(TM) i3-2350M CPU @ 2.30GHz NUMA node(s): 1 NUMA node0 CPU(s): 0 On-line CPU(s) list: 0 Socket(s): 1 Stepping: 7 Thread(s) per core: 1 Vendor ID: GenuineIntel Virtualization type: full layout: '0': '0' disk: sda: model: 'VBOX HARDDISK ' size: 21474836480 type: HDD sr0: model: CD-ROM memory: MemFree: 254244 MemTotal: 1016264 SwapFree: 1046028 SwapTotal: 1048572 net: enp0s3: buffers: cur: 256 max: 4096 conf: ip: '' vlan: false driver: driver: e1000 version: 7.3.21-k8-NAPI queues: own: [] rx: [] rxtx: [] shared: - 19-fasteoi ehci_hcd:usb1, enp0s3 tx: [] unknown: []>
Server-infoユーティリティは、ハードウェアとその機能を1〜10のスケールで評価することもできます。
$ sudo server-info rate cpu: BogoMIPS: 2 CPU MHz: 2 CPU(s): 1 Core(s) per socket: 1 L3 cache: 2 Socket(s): 1 Thread(s) per core: 10 Vendor ID: 10 disk: sda: size: 1 type: 1 sr0: size: 1 type: 2 memory: MemTotal: 1 SwapTotal: 2 net: enp0s3: buffers: cur: 1 max: 10 driver: 3 queues: 1 system: Hypervisor vendor: 1 Virtualization type: 1
そして、それは今のところすべてです。来るより良いもの。しばらくお待ちください!
乾杯!!