使用概要: ethtool ethx //查询ethx网口基本设置,其中 x 是对应网卡的编号,如eth0、eth1等等 ethtool –h //显示ethtool的命令帮助(help) ethtool –i ethX //查询ethX网口的相关信息 ethtool –d ethX //查询ethX网口注册性信息 ethtool –r ethX //重置ethX网口到自适应模式 ethtool –S ethX //查询ethX网口收发包统计 ethtool –s ethX [speed 10|100|1000] [duplex half|full] [autoneg on|off] //设置网口速率10/100/1000M、设置网口半/全双工、设置网口是否自协商
ethtool命令用于查询和控制网络设备驱动程序和硬件设置,尤其是有线以太网设备,devname网卡的名称。网卡就像是交换机的一个端口,正常使用我们只是配置网卡IP地址等信息,网卡的速率、双工模式等我们并不关心。通过ethtool命令我们可以像配置交换机网卡一样配置这些参数,这就是这个命令的魅力所在。
eth0: negotiated 100baseTx-FD, link ok 100M
利用 ethtool 可以根据需要更改以太网卡的参数,包括自动协商、速度、双工和局域网唤醒等参数。
分析思路是,先可以用动态分析去初步分析,然后通过静态分析走读代码再从代码层面确认。
EthTool开发包适用于希望采用裸交易的PHP以太坊应用开发,主要包含以下特性:
speedtest-cli是一个常用的网络速度测试工具,可以通过命令行进行安装和运行。首先,需要安装speedtest-cli:
之前没有用过addr2line和gdb等内核调试工具定位问题代码,这里记录一下在将某个网络驱动从4.9内核移植到5.7内核时出现内核崩溃起不来的问题。
系统硬件维护 dmesg -dT |egrep 'sda|usb|tty|memory|dma'#查看关键信息 watch "dmesg | tail -20" #实时查看 date -d "$(awk -F. '{print $1}' /proc/uptime) second ago" +"%Y-%m-%d %H:%M:%S" # 开机运行时间 硬件资源查询 1.SN号,品牌 dmidecode | gre
1 DMA 将 NIC 接收的数据包逐个写入 sk_buff ,一个数据包可能占用多个 sk_buff , sk_buff 读写顺序遵循FIFO(先入先出)原则。
之前记录过处理因为 LVS 网卡流量负载过高导致软中断发生丢包的问题,RPS 和 RFS 网卡多队列性能调优实践[1],对一般人来说压力不大的情况下其实碰见的概率并不高。这次想分享的话题是比较常见服务器网卡丢包现象排查思路,如果你是想了解点对点的丢包解决思路涉及面可能就比较广,不妨先参考之前的文章如何使用 MTR 诊断网络问题[2],对于 Linux 常用的网卡丢包分析工具自然是 ethtool。
测试过程:client上发1000字节的SQL到server,client上发超过1500字节的SQL到server
---------------------------------接Part 1------------------------------
上一篇文章中《图解Linux网络包接收过程》,我们梳理了在Linux系统下一个数据包被接收的整个过程。Linux内核对网络包的接收过程大致可以分为接收到RingBuffer、硬中断处理、ksoftirqd软中断处理几个过程。其中在ksoftirqd软中断处理中,把数据包从RingBuffer中摘下来,送到协议栈的处理,再之后送到用户进程socket的接收队列中。
Linux内核对网络包的接收过程大致可以分为接收到RingBuffer、硬中断处理、ksoftirqd软中断处理几个过程。其中在ksoftirqd软中断处理中,把数据包从RingBuffer中摘下来,送到协议栈的处理,再之后送到用户进程socket的接收队列中。
ethtool是用于查询和设置网卡参数的命令,它的功能非常强大,几乎网卡的收发数据的参数都可以在这里设置。
如果我们的服务器没有部署在本地(实际上通常都是这样的,我们会把服务器托管到IDC机房),
今天去现场帮一个客户排查备份网络速率问题。 用户期望是万兆的速率,但实际上目前只有千兆,因为目前上面运行着数据库,且数据量较大,千兆的备份网络速率不能满足用户备份数据库的时长要求。
详细教程 查看网卡生产厂家和型号的基本信息 lspci 查看网卡生产厂家和型号的详细信息 lspci -vvv 查看网卡驱动 lspci -vvv or lsmod 查看网卡驱动版本 modinfo or ethtool or ethtool -i eth3 查看网络接口队列数 cat /proc/interrupts | grep eth0 or ethtool -S eth0 ---- ----
在日常使用中,经常会出现无法连通的情况,这个时候我们就需要找到问题出在哪里,这里面给各位提供一个生产环境排查网络故障的大体思路,一般情况下如果遇到网络故障,都是通过筛选的方式一点一点的确定问题所在,首先判断是本机的问题还是网络上其它设备的问题,如果同一网络环境中的其它主机正常的,要去其它网络设备(路由器)上查看一下是否对网络有问题的主机设置了限制,如果没有的话,问题出在本机,这里面我们主要看下下本机容易出现哪些问题导致页面无法访问
其中eth0是一般服务器,默认的网卡,但是也有例外,所以先用命令 ifconfig 查看下所有网络设备,找到你的电脑的网卡,像我的就是eno1。
使用单个流来处理来自网络适配器的流量需要单个CPU内核才能跟上入口速率。在高速率下,由于每个数据包可用的CPU周期数量有限,即使是轻量级的流量处理,这也成为瓶颈。只要我们的应用程序设计为可与多个线程或进程一起使用并在多个CPU内核上运行,则在一个流中将来自单个接口的流量平均分配到多个流(又称为通道或队列)中,同时保持流的连续性通常是扩展性能的最佳选择。
本文列出了 10 个基础的每个 Linux 用户都应该知道的网络和监控命令。网络和监控命令类似于这些: hostname, ping, ifconfig, iwconfig, netstat, nslookup, traceroute, finger, telnet, ethtool 用于查看 linux 服务器 ip 地址,管理服务器网络配置,通过 telnet 和 ethernet 建立与 linux 之间的网络链接,查看 linux 的服务器信息等。下面让我们看看在 Linux 下的网络和监控命令的使
当新的Linux主机完成了网络配置,即可以正常接入网络后,我们可以通过Linux自带的相关工具进行网络相关检测。如最常用的ping,netstat,ss,traceroute,ethtool等相关命令。本文主要是描述这几个命令的使用方法,供大家参考。
这两天由于测试需求需需要查看服务器上有几个网卡以及每个网卡信息等,因此收集一些查看这些信息的方法。
如果只想查看网络接口名称和相应的MAC地址,请使用以下命令。检查特定的网络接口的MAC地址:
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
一般来说,系统安装后默认网络配置为 dhcp,通常这并不符合实际情况,需要修改为静态IP。
#include <stdio.h> #include <stdlib.h> #include <string.h> #include <fcntl.h> #include <errno.h> #include <sys/ioctl.h> #include <sys/types.h> #include <sys/socket.h> #include <linux/if.h> typedef unsigned short u16; typedef unsigned int u32; typedef unsig
目前我们在公有云上买到的服务器,一般网卡类型都是virtio,这个可以通过ethtool -i eth1获取。
在使用wireshark抓取报文时,发现从10.81.2.92发过来的报文绝大部分标记为异常报文(开启IPv4和TCP checksum)
进入BIOS的Power Management Setup,设置PME Event Wake Up(这其实是一种Wake On PCI Card模式)为 Enabled。注意,有些机器可能为Wake On Lan或Wake On PCI Card。Wake On Lan模式可以在完全关机状态下唤醒,而Wake On PCI Card模式要在深度休眠状态下唤醒。造成这样的区别主要是因为主板的设计不一样,现在的计算机一般都是Wake On PCI Card模式的。
上图来自 瑞昱半导体 (RealTek) 的 RTL8201F 系列网卡 PHY 芯片手册。按OSI 7层网络模型划分,网卡PHY 芯片(图中的RTL8201F)位于物理层,对应的软件层就是本文讨论的 PHY 驱动层;而 MAC 位于 数据链路层,也是通常软件上所说的网卡驱动层,它不是本文的重点,不做展开。另外,可通过 MDIO 接口对 PHY 芯片进行配置(如PHY芯片寄存器读写),而 PHY 和 MAC 通过 MII/RMII 进行数据传输。
网络数据传输:数据帧传输,由网卡读取并放入设备缓冲区ring buffer,当网络数据包到达的速率快于内核处理的速率时,ring buffer很快会被填满,新来的数据包将被丢弃。
这里深度理解一下在Linux下网络包的接收过程,为了简单起见,我们用udp来举例,如下:
前言(废话):虽然这个功能叫局域网唤醒,但与路由器的端口映射功能配合,广域网唤醒也是很容易的。只要有一台能上网的电脑或手机,就能把家中电脑打开,需要用家里电脑又不在家的时候很方便。 注意事项: 此教程是为了实现外网唤醒内网主机,所以开始之前请确保您的宽带运营商分配给你的IP是公网IP!!!如果您的路由器获取的IP是内网IP(下面有IP段),就不能在外网唤醒了。不过!!如果您用的是光猫路由一体机,下面的路由器获取的也是内网IP,这时就需要登录光猫,将连接方式改为桥接,然后通过路由器拨号上网,这样路由器获取的才能是公网IP,路由器的DDNS功能才能将域名解析到你的公网IP上。 内网IP段:192.168.0.0-192.168.255.255、172.16.0.0-172.31.255.255、10.0.0.0-10.255.255.255 请确保您的路由器有DDNS功能(现在应该是都有的) 一、开启WOL功能 开机狂按 进BIOS设置
When you are writing a linux application that needs either kernel to userspace communications or userspace to kernel communications, the typical answer is to use ioctl and sockets.
前言:主要针对于Linux中网络/路由/通信通道类命令进行学习,加深对Linux的使用;
作者:wqiangwang,腾讯 TEG 后台开发工程师 本文通过“Kni 映射到内核的接口未能发送 LACP 报文导致 bond 不能聚合”这个问题,来探索内核调试中,对于正在运行的内核,通过 systemtap 获取关键数据结构的值的通用方法。 背景 DPDK 支持物理端口 通过 kni 映射到内核的虚拟接口作为内核的标准 net device,借助内核完善的生态处理相对复杂的网络协议,如 tcp 等,这样以后,无需在用户态实现这些协议。在 NGW 网关产品中,同样的,从物理端口接收的 LACP
Linux 提供了各种工具,用于报告和检查 CPU、RAM、存储和网络的操作。本文演示了其中许多实用程序的工作原理。
在搭建Hadoop集群时,要求网络使用以太网,最低要求使用千兆网络,推荐使用万兆网络,标准配置是数据网络配备双万兆网卡,管理网络配备双千兆网卡。使用双万兆网卡的好处有以下几点:
(1)在文件夹/etc/init.d/下创建关机时需要执行的脚本file_name;
版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
Supported link modes: 10baseT/Half 10baseT/Full
[root@localhost lhd]# ethtool -s eth0 wol g
最近工作中遇到某个服务器应用程序 UDP 丢包,在排查过程中查阅了很多资料,我在排查过程中基本都是通过使用 tcpdump 在出现问题的各个环节上进行抓包、分析在那个环节出现问题、针对性去排查解决问题,对症下药,最后终究能够解决问题。但是这种情况大多是因为服务本身的问题,如果是环境问题、操作系统、甚至硬件的问题,可能从服务本身出发不能解决问题,但是这篇文章另辟蹊径,从外部环境分析可能丢包的原因,看完之后,很受用,部分章节对原文有所修改,下面分享出来供更多人参考。
领取专属 10元无门槛券
手把手带您无忧上云