我有关于 CPU/网络监控的基本 Python 和 Unix 问题。我正在运行一个应用程序监听一些 Websocket 并将传入的数据保存到文件(Python3.6、asyncio、aiohttp 和 aiofiles)。大约 300 KB/秒的接收速度。
- 使用“top”,我得到 100% 的 CPU 使用率。这是否意味着我有能力并因此有丢失数据包的风险,或者这只是与异步编程有关的人为因素?分析表明它大部分时间都在读取 Websocket 数据。我真的不明白 I/O 应用程序如何消耗如此多的 CPU。
- 如果我每个 CPU 或网络容量都可以使用任何工具来发送警告 - 这样我就可以在冒着丢失数据的风险之前采取行动?最好在 Python 中,但如果不是,我总是可以从 Python 运行系统命令。