Saya baru saja menginstal kartu antarmuka jaringan gigabit (NIC) baru di Linux. Bagaimana saya tahu apakah itu benar-benar diatur ke kecepatan gigabit? Saya melihat ethtool
memiliki opsi untuk mengatur kecepatan, tetapi saya tidak bisa menemukan cara untuk melaporkan kecepatan saat ini.
linux
gigabit-ethernet
ethtool
Pengguna1
sumber
sumber
Jawaban:
Cukup gunakan perintah seperti:
ethtool eth0
untuk mendapatkan info yang dibutuhkan. Ex:$ sudo ethtool eth0 | grep Speed
sumber
for i in $(netstat -i | cut -f1 -d" " | tail -n+3) ; do echo "$i: $(ethtool "$i" | grep Speed | sed 's/Speed://g')" ; done
Dimungkinkan untuk menggunakan informasi dari kernel ketika ethtool tidak ada:
Contoh untuk antarmuka bernama eth0:
sumber
CATATAN: halaman manual untuk
mii-tool
memiliki penafian ini:Gunakan
mii-tool
untuk menonton kecepatan jaringan yang dinegosiasikan.Ex.
sumber
ethtool
tidak diinstal secara default. Tetapimii-tool
, sebagai bagian dari paket "alat-bersih" yang penting. Jadi ini solusi terbaik bagi saya.mii-tool
laporan 'dinegosiasikan 100 baseTx-FD, kontrol aliran, tautan ok', keduanyaethtool
dancat /sys/class/net/eth…/speed
setujui ' 1000 Mb / s dupleks penuh'. Ini untuk pengontrol USB 3.0, yaitu ASIX AX88179 (driver 'ax88179_178a' untuk Linux).Ada beberapa jawaban yang bagus di sini, saya hanya ingin menambahkan beberapa opsi lagi.
1. Saya tahu ini tidak sesuai dengan yang Anda minta (baca cara-cara lain). Tetapi jika Anda ingin mengetahui kinerja NIC Anda di dunia nyata , daripada apa yang seharusnya komputer Anda katakan, Anda bisa menggunakan iperf. Saya biasanya melakukan ini - karena Anda tidak pernah tahu. Saya membeli NIC 1Gb baru-baru ini yang hanya ditransfer pada 672Mbps tetapi uplink-nya adalah 1Gb. Untung aku memeriksa.
Anda akan membutuhkan dua komputer.
Di komputer satu, jalankan iperf dalam mode server:
Di sisi lain, jalankan iperf dalam mode klien:
Jika Anda ingin melihat kecepatan dupleks penuh, coba ini sebagai gantinya:
Pengganti 192.168.0.10 untuk alamat IP server
2. Pada sistem Ubuntu,
/var/log/kern.log
memiliki logging terbatas pada peristiwa kernel. Ini akan merekam kecepatan tautan dan status NIC saat berubah. Saya yakin distribusi lain mungkin melakukan sesuatu yang serupa atau dapat diatur untuk melakukannya.3. Anda mungkin tidak akan pernah perlu sejauh ini, tetapi Anda dapat menulis kode c untuk mendapatkan kecepatan. Kerja yang diuji dan root tidak diperlukan.
https://stackoverflow.com/questions/2872058/get-link-speed-programmatically
sumber
Seperti yang disebutkan Khaled, Anda harus dapat menjalankan ethtool hanya dengan antarmuka sebagai argumen. Ini akan mencantumkan kecepatan yang didukung, kecepatan yang diiklankan, kecepatan saat ini, dan banyak hal lainnya juga:
Anda juga dapat menjalankan
dmesg
, dan grep untuk antarmuka Anda, tetapi ini mungkin tidak berfungsi jika sistem Anda telah berjalan untuk waktu yang lama dan buffer saat ini tidak lagi memiliki informasi itu (dalam hal itu, Anda harus grep yang lebih tua / var /log/dmesg.* file):sumber
Gunakan perintah di bawah ini
lihat ini
sumber
Juga untuk referensi di masa mendatang, saya memperhatikan bahwa bidang kecepatan di ethtool memberikan kecepatan maksimum yang didukung oleh NIC dan mii-tool memberikan kecepatan aktual di mana NIC berjalan.
PEMBARUAN: Setelah beberapa saat ditemukan, mii-tool tidak mengembalikan kecepatan yang tepat karena sudah ketinggalan zaman dan usang dan ethtool mengembalikan kecepatan yang dinegosiasikan.
sumber
ethtool eth0
bekerja untukku. Contoh:sumber
ethtool
.