ubuntu 为什么我的Dart服务器在内存使用率低于100%的情况下被杀死?

kuuvgm7e  于 2023-08-03  发布在  其他
关注(0)|答案(1)|浏览(114)

我的服务器是Ubuntu x86_64,带有一个基本的Digitalocean包。

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使用的资源。启动时运行的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被使用不是造成这种情况的原因,因为它是相同的值。
原因是内存使用不当?但只占100%的45-50%。为什么我在Ubuntu上运行dart服务器后得到了Killed
在本地(我的电脑)一切正常。
我以前也问过类似的问题(Question)。但dart服务器使用的内存不是100%,而是50%。真实的的原因是什么?

oknwwptz

oknwwptz1#

在我试着一条一条地导入我的路线之后。我发现我的服务器中的一些文件使用了flutter方的包,如universal_html。这就是我的问题的原因。删除它后,我的服务器可以正常运行。

相关问题