2011-08-10 81 views
0

當我運行該腳本描述here與我的用戶,一切都很好:二郎導致頁面錯誤

[email protected]:~/erlang/pei$ time erl -noshell -smp enabled -S 4 -s fib4 main 10000000 

real 0m54.952s 
user 1m16.090s 
sys 0m0.070s 

當我root權限運行它,它墜毀:

[email protected]:~/erlang/pei$ sudo time erl -noshell -smp enabled -S 4 -s fib4 main 10000000 
[sudo] password for lorenzo: 
74.68user 0.04system 0:53.56elapsed 139%CPU (0avgtext+0avgdata 66064maxresident)k 
0inputs+0outputs (0major+8306minor)pagefaults 0swaps 

的錯誤是reproduceable 。

我的問題是:

  • 能有人試圖解釋我什麼是happending呢?

  • 這是erlang運行時還是與我的操作系統有問題?

  • 有人可以重現此錯誤嗎?

我在Ubuntu整潔的使用上的Phenom X4內核

Linux enzo 2.6.38-10-generiC#46-Ubuntu SMP Tue Jun 28 15:07:17 UTC 2011 x86_64 x86_64 x86_64 GNU/Linux 

運行二郎5.7.4。

回答

6

爲什麼你認爲它墜毀?當以root身份運行時,time只顯示更多信息。 Page fault不是錯誤,只是virtual memory的工作方式。

+0

OMG。愚蠢的我。謝謝。 – Hyperboreus

3

兩個運行之間的區別是,在第一次運行,你正在運行的shell內建time,但在第二輪,你正在運行的路徑,這是/usr/bin/time任何sudo發現。這兩個工具具有不同的輸出格式。

$ type time 
time is a shell keyword 
$ time echo 


real 0m0.000s 
user 0m0.000s 
sys  0m0.000s 
$ type /usr/bin/time 
/usr/bin/time is /usr/bin/time 
$ /usr/bin/time echo 

0.01user 0.00system 0:00.00elapsed 1000%CPU (0avgtext+0avgdata 2784maxresident)k 
0inputs+0outputs (0major+217minor)pagefaults 0swaps