自己做一个OJ系统的评测机,C#编写,在Windows Container容器里运行。需要抓取用户提交的程序在运行时占用的内存大小。
现在问题来了,虽说通过获取进程信息可以得到内存占用的值,但这只是个瞬时数据。有可能会获取的时候进程已经执行完了,或者是还没有执行到申请内存的部分,就导致不准确。循环获取也不能保证都能抓到,而且会占用CPU,影响用户提交的程序运行。
那有没有办法知道一个进程(已退出)在整个运行过程中最大占用过的内存是多少呢?
自己做一个OJ系统的评测机,C#编写,在Windows Container容器里运行。需要抓取用户提交的程序在运行时占用的内存大小。
现在问题来了,虽说通过获取进程信息可以得到内存占用的值,但这只是个瞬时数据。有可能会获取的时候进程已经执行完了,或者是还没有执行到申请内存的部分,就导致不准确。循环获取也不能保证都能抓到,而且会占用CPU,影响用户提交的程序运行。
那有没有办法知道一个进程(已退出)在整个运行过程中最大占用过的内存是多少呢?