执行nvidia-smi.exe -l 5,观察到有两个进程占用着显存而没有释放:
为了把显存释放出来,采用taskkill命令把进程杀掉:taskkill /pid PID号
taskkill /pid 22776
但是有些进程却需要强制执行才能杀掉:taskkill /f /pid PID号
taskkill /f /pid 22776
附录:
taskkill使用示例:
taskkill /f /im PjtPkgWeightDlg.exe 结束进程
start "" "d:\PjtPkgWeightDlg.exe" 启动程序
在命令行下输入 taskkill /? 就能看到这个命令的一些介绍了。
命令语法:
TASKKILL [/S system [/U username [/P [password]]]]
{ [/FI filter] [/PID processid | /IM p_w_picpathname] } [/F] [/T]
描述:
这个命令行工具可用来结束至少一个进程;可以根据进程 id 或图像名来结束进程。
参数列表:
/S system 指定要连接到的远程系统。
/U [domain\]user 指定应该在哪个用户上下文执行这个命令。
/P [password] 为提供的用户上下文指定密码。如果忽略,提示输入。
/F 指定要强行终止 进程。
/FI filter 指定筛选进或筛选出查询的任务。
/PID process id 指定要终止的进程的PID。
/IM p_w_picpath name 指定要终止的进程的图像名。通配符 '*'可用来指定所有图像名。
/T Tree kill: 终止指定的进程和任何由此启动的子进程。
/? 显示帮助/用法。
筛选器:
筛选器名 有效运算符 有效值
----------- --------------- --------------
STATUS eq, ne 运行 | 没有响应
IMAGENAME eq, ne 图像名
PID eq, ne, gt, lt, ge, le PID 值
SESSION eq, ne, gt, lt, ge, le 会话编号
CPUTIME eq, ne, gt, lt, ge, le CPU 时间,格式为hh:mm:ss。(hh - 时,mm - 分钟,ss - 秒)
MEMUSAGE eq, ne, gt, lt, ge, le 内存使用,单位为 KB
USERNAME eq, ne 用户名,格式为[domain\]user
MODULES eq, ne DLL 名
SERVICES eq, ne 服务名
WINDOWTITLE eq, ne 窗口标题
注释:eq相等;ne、neq不相等;gt大于;lt小于 ;gte、ge大于等于;lte、le 小于等于
注意:只有带有筛选器的情况下,才能跟 /IM 切换使用通配符 '*'。
注意:远程进程总是要强行终止,不管是否指定了 /F 选项。
注意:当指定远程机器时,不支持 "WINDOWTITLE" 和 "STATUS" 筛选器。
例如:
TASKKILL /S system /F /IM notepad.exe /T
TASKKILL /PID 1230 /PID 1241 /PID 1253 /T
TASKKILL /F /IM notepad.exe /IM mspaint.exe
TASKKILL /F /FI "PID ge 1000" /FI "WINDOWTITLE ne untitle*"
TASKKILL /F /FI "USERNAME eq NT AUTHORITY\SYSTEM" /IM notepad.exe
TASKKILL /S system /U domain\username /FI "USERNAME ne NT*" /IM *
TASKKILL /S system /U username /P password /FI "IMAGENAME eq note*"
参考:https://www.cnblogs.com/FlyAway2013/p/5296129.html
https://blog.51cto.com/speediness/1702838