The net.core.wmem_default
dan wmem_max
pengaturan mengontrol ukuran awal dan maksimum TX socket buffer dalam bytes. Sementara antrian itu sendiri hanyalah sebuah daftar skb
pointer yang terhubung , kernel juga melacak ukuran byte total yang dikonsumsi oleh skb
's saat mereka ditambahkan dan dihapus dari buffer socket. The wmem_default
sysctl menetapkan pagu awal default untuk soket baru ( net/core/sock.c:sock_init_data()
). Aplikasi diizinkan untuk meningkatkan ukuran buffer soketnya dan wmem_max
merupakan langit-langit untuk fungsi itu ( net/core/sock.c:sock_setsockopt()
).
Ketika sebuah paket telah dihapus dari buffer socket dan menemukan jalannya melalui tumpukan jaringan kernel, itu ditempatkan pada antrian transmisi untuk sebuah antarmuka untuk menunggu untuk dimuat ke NIC itu sendiri. The txqueuelen
set oleh ifconfig
atau ip
perintah adalah jumlah frame diperbolehkan per antrian transmisi kernel untuk disiplin antrian ( net/sched/sch_generic.c:pfifo_fast_enqueue()
).
Terakhir, ethtool -G
gunakan ioctl untuk mengatur jumlah entri dering untuk buffer cincin pada NIC itu sendiri.
Christopher Neylan
sumber