当在 ubuntu 18.04 上使用 ABAQUS 6.14(还有 ABAQUS 2018)时,除了standard进程终止(进程在执行隐式分析时启动——如果你不熟悉这没关系),一切似乎都正常。
分析确实有效,因为您还可以在日志文件(该.sta文件,对于熟悉 abaqus 的人)中看到消息THE ANALYSIS HAS COMPLETED SUCCESSFULLY. 输出数据库包含分析结果。但是,在分析完成后,该进程standard仍处于睡眠状态,使用 0% 的 CPU 并保持与运行时相同的 RAM 量。
从strace我得到:
[pid 23191] close(8) = 0
[pid 23185] <... select resumed> ) = 0 (Timeout)
[pid 23185] select(0, NULL, NULL, NULL, {tv_sec=0, tv_usec=50000} <unfinished ...>
[pid 23193] <... select resumed> ) = 0 (Timeout)
[pid 23193] futex(0x7f3acd917db0, FUTEX_WAKE_PRIVATE, 1 <unfinished ...>
[pid 23191] futex(0x7f3acd917db0, …Run Code Online (Sandbox Code Playgroud) 我在旧的(ish)笔记本电脑上运行 ubuntu 18.04,它是带有升级内存(16GB)和 SSD 的 hp dv7 6180sl。它很旧,但对于我的工作来说仍然足够快。
由于有几个 ubuntu 版本(我总是在每个版本中完全重新安装,所以我不是来自旧版本)看起来 cpu 从来没有真正空闲过,因此粉丝们一直在工作。今天我决定找出正在使用我的cpu的东西。
我在这里和谷歌上阅读了很多答案,但没有什么能真正解决我的问题。顶是这样说的:
PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND
5501 tox 20 0 3911436 324668 68984 S 12,5 4,0 30:04.86 gnome-shell
Run Code Online (Sandbox Code Playgroud)
以 gnome-shell 的 PID 为例,我试图做一个 strace 来看看幕后发生了什么,我看到有一个recvmsg系统调用会产生大量错误,几乎占用了 30% 的时间(这是大约一分钟后):
strace: Process 5501 attached
% time seconds usecs/call calls errors syscall
------ ----------- ----------- --------- --------- ----------------
29.71 0.100941 2 46612 39214 recvmsg
24.81 0.084290 5 17842 poll
22.21 0.075445 3 …Run Code Online (Sandbox Code Playgroud)