我在使用 Matlab(R2014a 和 R2014b)的 Ubuntu 14.04 和 14.10 中遇到了一个非常奇怪的问题,近一年(甚至更久)我都无法解决。这个问题在我刚刚组装的第二台机器上仍然存在,因此我认为它不是硬件特有的,除非……(我们稍后会讨论这个问题)。
当我使用 ASUS U43SD 笔记本时,首次安装后一切都很好,但过了一段时间,使用 Shift-Select(带键盘箭头)编辑 Matlab 就变成了地狱。滞后、冻结、堵塞。我尝试了所有方法,重新安装软件、清除并重新安装 Java,一切都没有结果。
一周前,我组装了一台全新的机器,这次是台式机,因为我需要高性能来完成工作。我安装了 Matlab,一切都很完美,然而,现在已经是组装后的第五天了,Matlab 在我的笔记本上仍然和以前一样。最有趣的是,一开始它运行良好,但当 Matlab 开始变得糟糕时,它就保持原有的状态。格式化、重新安装操作系统,这些都无法解决问题。
目前我能想到的唯一可能产生影响的是我的 SSD 磁盘。我在笔记本中使用 Corsair Force GS,这是我新台式机上唯一安装的磁盘,除此以外其他都是新的。可能是驱动器的问题吗?可能是某种在一周后开始的每周修剪操作,因此会弄乱某些东西,甚至在重新安装操作系统并完成驱动器格式化后仍然存在?我一无所知……
请帮帮我,我求求你。
编辑: 一些建议的信息:
自由--人类
total used free shared buffers cached
Mem: 7,5G 4,7G 2,8G 898M 77M 2,2G
-/+ buffers/cache: 2,5G 5,0G
Swap: 3,9G 0B 3,9G
iostat
Linux 3.16.0-30-generic (bluecore-pc) 3.2.2015 _x86_64_ (8 CPU)
avg-cpu: %user %nice %system %iowait %steal %idle
2,39 0,00 0,42 0,03 0,00 97,15
Device: tps kB_read/s kB_wrtn/s kB_read kB_wrtn
sda 12,32 135,15 279,33 763925 1578952
sdb 0,05 1,28 0,00 7224 0
sdc 0,11 5,05 0,00 28528 0
顶部
PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND
5196 bluecore 20 0 5632056 591308 167216 S 1,7 7,5 0:20.93 MATLAB
1324 root 20 0 857652 113240 99576 S 0,7 1,4 1:29.43 Xorg
2200 bluecore 20 0 45080 3752 2128 S 0,7 0,0 0:19.10 dbus-daemon
2300 bluecore 20 0 1743472 229976 66284 S 0,7 2,9 0:59.34 compiz
2494 bluecore 20 0 748324 28128 22896 S 0,7 0,4 0:22.08 psensor
2543 bluecore 20 0 56568 6464 4824 S 0,7 0,1 0:13.85 gconfd-2
3780 bluecore 20 0 1285176 448020 58000 S 0,7 5,7 5:37.95 chrome
7 root 20 0 0 0 0 S 0,3 0,0 0:01.84 rcu_sched
2305 bluecore 20 0 652396 34896 24688 S 0,3 0,4 0:08.54 unity-panel-ser
2822 bluecore 20 0 1037712 321592 60232 S 0,3 4,1 0:39.09 chrome
3708 bluecore 20 0 1295048 491160 57400 S 0,3 6,3 1:54.25 chrome
3892 bluecore 20 0 656388 35420 26996 S 0,3 0,5 0:03.68 gnome-terminal
5378 root 20 0 29484 3504 2736 R 0,3 0,0 0:00.02 top
1 root 20 0 29712 4400 2572 S 0,0 0,1 0:00.82 init
2 root 20 0 0 0 0 S 0,0 0,0 0:00.00 kthreadd
3 root 20 0 0 0 0 S 0,0 0,0 0:00.01 ksoftirqd/0
5 root 0 -20 0 0 0 S 0,0 0,0 0:00.00 kworker/0:0H
6 root 20 0 0 0 0 S 0,0 0,0 0:00.64 kworker/u16:0
8 root 20 0 0 0 0 S 0,0 0,0 0:01.29 rcuos/0
9 root 20 0 0 0 0 S 0,0 0,0 0:00.26 rcuos/1
10 root 20 0 0 0 0 S 0,0 0,0 0:00.23 rcuos/2
11 root 20 0 0 0 0 S 0,0 0,0 0:00.24 rcuos/3
12 root 20 0 0 0 0 S 0,0 0,0 0:00.11 rcuos/4
13 root 20 0 0 0 0 S 0,0 0,0 0:00.10 rcuos/5
14 root 20 0 0 0 0 S 0,0 0,0 0:00.11 rcuos/6
15 root 20 0 0 0 0 S 0,0 0,0 0:00.12 rcuos/7
16 root 20 0 0 0 0 S 0,0 0,0 0:00.00 rcu_bh
17 root 20 0 0 0 0 S 0,0 0,0 0:00.00 rcuob/0
18 root 20 0 0 0 0 S 0,0 0,0 0:00.00 rcuob/1
19 root 20 0 0 0 0 S 0,0 0,0 0:00.00 rcuob/2
20 root 20 0 0 0 0 S 0,0 0,0 0:00.00 rcuob/3
21 root 20 0 0 0 0 S 0,0 0,0 0:00.00 rcuob/4
22 root 20 0 0 0 0 S 0,0 0,0 0:00.00 rcuob/5
23 root 20 0 0 0 0 S 0,0 0,0 0:00.00 rcuob/6
24 root 20 0 0 0 0 S 0,0 0,0 0:00.00 rcuob/7
25 root rt 0 0 0 0 S 0,0 0,0 0:00.00 migration/0
26 root rt 0 0 0 0 S 0,0 0,0 0:00.01 watchdog/0
27 root rt 0 0 0 0 S 0,0 0,0 0:00.01 watchdog/1
28 root rt 0 0 0 0 S 0,0 0,0 0:00.00 migration/1
29 root 20 0 0 0 0 S 0,0 0,0 0:00.00 ksoftirqd/1
30 root 20 0 0 0 0 S 0,0 0,0 0:00.00 kworker/1:0
31 root 0 -20 0 0 0 S 0,0 0,0 0:00.00 kworker/1:0H
32 root rt 0 0 0 0 S 0,0 0,0 0:00.01 watchdog/2
33 root rt 0 0 0 0 S 0,0 0,0 0:00.06 migration/2
34 root 20 0 0 0 0 S 0,0 0,0 0:00.00 ksoftirqd/2
35 root 20 0 0 0 0 S 0,0 0,0 0:00.00 kworker/2:0
36 root 0 -20 0 0 0 S 0,0 0,0 0:00.00 kworker/2:0H
37 root rt 0 0 0 0 S 0,0 0,0 0:00.01 watchdog/3
38 root rt 0 0 0 0 S 0,0 0,0 0:00.00 migration/3
39 root 20 0 0 0 0 S 0,0 0,0 0:00.00 ksoftirqd/3
40 root 20 0 0 0 0 S 0,0 0,0 0:00.01 kworker/3:0
41 root 0 -20 0 0 0 S 0,0 0,0 0:00.00 kworker/3:0H
42 root rt 0 0 0 0 S 0,0 0,0 0:00.01 watchdog/4
43 root rt 0 0 0 0 S 0,0 0,0 0:00.45 migration/4
44 root 20 0 0 0 0 S 0,0 0,0 0:00.00 ksoftirqd/4
46 root 0 -20 0 0 0 S 0,0 0,0 0:00.00 kworker/4:0H
47 root rt 0 0 0 0 S 0,0 0,0 0:00.01 watchdog/5
48 root rt 0 0 0 0 S 0,0 0,0 0:00.00 migration/5
49 root 20 0 0 0 0 S 0,0 0,0 0:00.00 ksoftirqd/5
50 root 20 0 0 0 0 S 0,0 0,0 0:00.00 kworker/5:0
51 root 0 -20 0 0 0 S 0,0 0,0 0:00.00 kworker/5:0H
52 root rt 0 0 0 0 S 0,0 0,0 0:00.01 watchdog/6
53 root rt 0 0 0 0 S 0,0 0,0 0:00.00 migration/6
54 root 20 0 0 0 0 S 0,0 0,0 0:00.00 ksoftirqd/6
55 root 20 0 0 0 0 S 0,0 0,0 0:00.00 kworker/6:0
56 root 0 -20 0 0 0 S 0,0 0,0 0:00.00 kworker/6:0H
57 root rt 0 0 0 0 S 0,0 0,0 0:00.01 watchdog/7
58 root rt 0 0 0 0 S 0,0 0,0 0:00.00 migration/7
59 root 20 0 0 0 0 S 0,0 0,0 0:00.01 ksoftirqd/7
60 root 20 0 0 0 0 S 0,0 0,0 0:00.00 kworker/7:0
61 root 0 -20 0 0 0 S 0,0 0,0 0:00.00 kworker/7:0H
62 root 0 -20 0 0 0 S 0,0 0,0 0:00.00 khelper
63 root 20 0 0 0 0 S 0,0 0,0 0:00.00 kdevtmpfs
64 root 0 -20 0 0 0 S 0,0 0,0 0:00.00 netns
65 root 20 0 0 0 0 S 0,0 0,0 0:00.00 khungtaskd
66 root 0 -20 0 0 0 S 0,0 0,0 0:00.00 writeback
67 root 25 5 0 0 0 S 0,0 0,0 0:00.00 ksmd
68 root 39 19 0 0 0 S 0,0 0,0 0:00.41 khugepaged
69 root 0 -20 0 0 0 S 0,0 0,0 0:00.00 crypto
70 root 0 -20 0 0 0 S 0,0 0,0 0:00.00 kintegrityd
71 root 0 -20 0 0 0 S 0,0 0,0 0:00.00 bioset
72 root 0 -20 0 0 0 S 0,0 0,0 0:00.00 kblockd
73 root 0 -20 0 0 0 S 0,0 0,0 0:00.00 ata_sff
74 root 20 0 0 0 0 S 0,0 0,0 0:00.00 khubd
75 root 0 -20 0 0 0 S 0,0 0,0 0:00.00 md
76 root 0 -20 0 0 0 S 0,0 0,0 0:00.00 devfreq_wq
78 root 20 0 0 0 0 S 0,0 0,0 0:00.10 kworker/2:1
80 root 20 0 0 0 0 S 0,0 0,0 0:00.00 kswapd0
81 root 20 0 0 0 0 S 0,0 0,0 0:00.00 fsnotify_mark
82 root 20 0 0 0 0 S 0,0 0,0 0:00.00 ecryptfs-kthrea
94 root 0 -20 0 0 0 S 0,0 0,0 0:00.00 kthrotld
95 root 0 -20 0 0 0 S 0,0 0,0 0:00.00 acpi_thermal_pm
96 root 20 0 0 0 0 S 0,0 0,0 0:00.05 kworker/6:1
97 root 20 0 0 0 0 S 0,0 0,0 0:00.16 kworker/0:1
98 root 0 -20 0 0 0 S 0,0 0,0 0:00.00 ipv6_addrconf
99 root 20 0 0 0 0 S 0,0 0,0 0:00.00 kworker/0:2
118 root 0 -20 0 0 0 S 0,0 0,0 0:00.00 deferwq
119 root 0 -20 0 0 0 S 0,0 0,0 0:00.00 charger_manager
答案1
因此,经过这么长时间,我认为我已经——完全是偶然地——找到了答案。
看起来造成这种滞后的原因是滑行器。Ubuntu 中的剪贴板插件。我不知道这是否是真正的问题,但现在我能说的是,如果我终止 glipper,Matlab 会正常运行。
希望它能够对将来的某些人有所帮助,因为这显然是一个非常具体的问题。