Esto parece de alguna manera similar a esta pregunta . Mientras diagnosticaba el comportamiento de algunas aplicaciones extrañas en mi MacBook Pro y los temidos errores de "demasiados archivos abiertos" que aparecían en el shell de la nada, llegué a descubrir que ath
un componente ejecutable de AirTrafficHost.framework
mantiene un gran número de enchufes abiertos en CLOSE_WAIT
estado. El número tiende a aumentar sólo en el tiempo hasta que llega al límite del sistema para los descriptores de archivos abiertos. Yo uso mi MBP acoplado la mayor parte del tiempo y siempre está encendido, por lo que el límite se alcanza después de un par de días.
AirTrafficHost.framework
es un marco privado de Apple y parece formar parte de la comunicación inalámbrica con los dispositivos iOS. Hay dos dispositivos iOS para los que he activado la sincronización en red: un iPad Pro y un iPhone. Parece que ath
intenta hablar con ellos y en algún momento la conexión se termina, pero los sockets de red nunca se cierran y siguen acumulándose. lsof
espectáculos:
ath 627 hristo 7u IPv6 0x2e106590d5ff22b3 0t0 TCP [fe80:5::xxx]:49280->[fe80:5::yyy]:57461 (CLOSE_WAIT)
ath 627 hristo 8u IPv6 0x2e106590d6aea413 0t0 TCP [fe80:5::xxx]:49300->[fe80:5::yyy]:57464 (CLOSE_WAIT)
ath 627 hristo 10u IPv6 0x2e106590d7a65c93 0t0 TCP [fe80:5::xxx]:49529->[fe80:5::yyy]:57482 (CLOSE_WAIT)
ath 627 hristo 11u IPv6 0x2e106590d4fe9a33 0t0 TCP [fe80:5::xxx]:49574->[fe80:5::yyy]:57486 (CLOSE_WAIT)
ath 627 hristo 13u IPv6 0x2e106590d5feeb93 0t0 TCP [fe80:5::xxx]:49609->[fe80:5::yyy]:57490 (CLOSE_WAIT)
ath 627 hristo 14u IPv6 0x2e106590d18e7b93 0t0 TCP [fe80:5::xxx]:49656->[fe80:5::yyy]:57494 (CLOSE_WAIT)
... many more ...
Ahora mismo, han pasado 5 horas desde el último reinicio y el número de descriptores de socket ya es de 162 en dos ath
procesos (uno por cada dispositivo iOS, supongo) y creciendo:
$ lsof -n | grep ^ath | grep TCP | wc -l
162
También parece que para cada desconexión, hay una entrada en /var/log/system.log
:
Mar 17 01:15:23 MacBook-Pro AMPDeviceDiscoveryAgent[433]: Entered:_AMMuxedDeviceDisconnected, mux-device:159
Mar 17 01:15:23 MacBook-Pro AMPDeviceDiscoveryAgent[433]: Entered:__thr_AMMuxedDeviceDisconnected, mux-device:159
Mar 17 01:15:23 MacBook-Pro AMPDeviceDiscoveryAgent[433]: tid:7387 - Mux ID not found in mapping dictionary
Mar 17 01:15:23 MacBook-Pro AMPDeviceDiscoveryAgent[433]: tid:7387 - Can't handle disconnect with invalid ecid
El sistema operativo es un MacOS Catalina 10.15.3 totalmente actualizado.
¿Alguien más ve el mismo problema y sabe de alguna solución que no implique aumentar los límites del sistema o realizar una instalación limpia del SO? Ya tengo un launchd
trabajo para aumentar kern.maxfiles
y kern.maxfilesperproc
pero eso no es realmente una solución, sólo pospone el problema. Y prefiero no desactivar la sincronización de red, porque me he quedado sin puertos USB.