我在 32 位 ARM Microchip SAMA5D27 处理器上运行 Linux 6.1。该主板具有 256 MB RAM。我正在使用 Mediatek mt76x0u 芯片组将 USB 加密狗连接到主板上。
启动时,我使用 SystemD 使用下面的配置文件启动 wpa_supplicant 2.10。目的是在 Ad-Hoc 模式下使用该平台,因此mode=1
.
我看到的问题是最终内核会出现 OOM 恐慌。运行约 1 小时后,主板会可靠地发生恐慌。即使我停止除 之外的所有服务,它也会出现恐慌wpa_supplicant
。我分析了内核内存并slabtop
创建了以下图表来显示用户空间内存使用情况与最大内核用户的情况。
我相信驱动程序中存在内存泄漏,或者由于某些默认内核参数,驱动程序无法在我的低性能设备上正常工作。
我已确保从 linux-firmware 存储库安装该芯片组的最新供应商固件。最大的用户是skbuff_head_cache
.
我可以做些什么来缓解这个问题吗?
我可以在内核中调整哪些相关内容skbuff_head_cache
?
版本:
wpa_supplicant version
Successfully initialized wpa_supplicant
wpa_supplicant v2.10
Copyright (c) 2003-2022, Jouni Malinen <[email protected]> and contributors
uname -r
6.1.22-linux4microchip-2023.04
消息:
[ 29.553651] mt76x0u 1-1:1.0: ASIC revision: 76100002 MAC revision: 76502000
[ 32.369384] mt76x0u 1-1:1.0: EEPROM ver:02 fae:04
[ 33.046717] usbcore: registered new interface driver mt76x0u
[ 52.068860] mt76x0u 1-1:1.0 mediatek: renamed from wlan0
[ 63.000388] usbcore: registered new interface driver mt76x2u
配置文件
lo no wireless extensions.
eth0 no wireless extensions.
sit0 no wireless extensions.
mediatek IEEE 802.11 ESSID:"TestAdHoc"
Mode:Ad-Hoc Frequency:2.462 GHz Cell: DE:AD:BE:EF:DE:AD
Tx-Power=20 dBm
Retry short limit:7 RTS thr=2347 B Fragment thr:off
Encryption key:off
Power Management:off
WPA 请求者配置:
ctrl_interface=DIR=/var/run/wpa_supplicant
autoscan=periodic:120
ap_scan=2
filter_ssids=1
bss_max_count=10
network={
bgscan="simple:120:-70:3600"
ssid="TestAdHoc"
bssid=DE:AD:BE:EF:DE:AD
mode=1
#frequency=5180
frequency=2462
proto=WPA2
key_mgmt=WPA-PSK
pairwise=CCMP
group=CCMP
psk="password"
priority=100
}