为何内存占用不足100%时我的Dart服务器仍被Killed?
Dart服务器在Ubuntu上被Killed的故障排查
服务器配置
我的服务器是DigitalOcean基础套餐的Ubuntu x86_64系统,配置如下:
Dart --version: Dart SDK version: 3.0.5 (stable) (None) on "linux_x64" CPU Type: Premium Intel vCPUs: 1 vCPU Memory: 1 GB SSD: 25 GB Transfer: 1 TB
问题现象
更新代码部署后,执行dart run ....时控制台出现Killed提示。通过top命令查看Dart进程资源:启动时CPU占用约99%,内存占用约45-50%(其他进程内存占用均低于15%)。
测试验证
随后我运行如下基础Dart服务器代码:
Future main(List<String> arguments) async { final cascade = Cascade().add(_staticHandler).add(_router); final server = await shelf_io.serve(logRequests().addHandler(cascade.handler), InternetAddress.anyIPv4, 8080); print('\nServer is running\naddress:${server.address.address}\nhost:${server.address.host}\nport: ${server.port}\n'); } final _staticHandler = shelf_static.createStaticHandler('folder', defaultDocument: 'index.html'); final _router = shelf_router.Router();
该基础代码运行正常,CPU占用同样约99%,内存占用约30%。因此我认为CPU不是故障原因。
疑问
难道是内存问题?但仅占用了45-50%。为何Ubuntu上的Dart服务器会被Killed?本地环境运行一切正常,此前我曾提问过类似问题,但本次内存未占满,求真正故障原因。
内容的提问来源于stack exchange,提问作者Sittiphan Sittisak
相关产品推荐
相关产品推荐

