Estou executando o R
job simples por root
e outro usuário limitado. O tempo de execução difere significativamente. Qual pode ser a fonte do problema?
Outras informações
Veja como eu comparo o tempo de execução:
# time /share/binary/R/bin/R CMD BATCH s1n\=50.R
real 0m0.278s
user 0m0.217s
sys 0m0.032s
# su john
$ time /share/binary/R/bin/R CMD BATCH s1n\=50.R
a execução em john
do usuário leva muito tempo e nunca é concluída! A saída de perf
durante esse intervalo é:
PerfTop: 906 irqs/sec kernel:19.3% exact: 0.0% [1000Hz cycles], (all, 8 CPUs)
-------------------------------------------------------------------------------------------------------------------------------------------------------------
samples pcnt function DSO
_______ _____ _____________________________ _______________________________
598.00 14.5% __GI_vfprintf /lib64/libc-2.12.so
194.00 4.7% intel_idle [kernel.kallsyms]
176.00 4.3% read_hpet [kernel.kallsyms]
170.00 4.1% bcEval /usr/local/R/lib64/R/bin/exec/R
141.00 3.4% ___printf_fp /lib64/libc-2.12.so
138.00 3.4% __strchrnul /lib64/libc-2.12.so
121.00 2.9% Rf_cons /usr/local/R/lib64/R/bin/exec/R
120.00 2.9% R_gc_internal /usr/local/R/lib64/R/bin/exec/R
91.00 2.2% _IO_default_xsputn_internal /lib64/libc-2.12.so
88.00 2.1% Rf_allocVector /usr/local/R/lib64/R/bin/exec/R
84.00 2.0% _IO_file_xsputn_internal /lib64/libc-2.12.so
82.00 2.0% scientific /usr/local/R/lib64/R/bin/exec/R
72.00 1.7% MatrixSubset /usr/local/R/lib64/R/bin/exec/R
71.00 1.7% duplicate1 /usr/local/R/lib64/R/bin/exec/R
68.00 1.7% floor /lib64/libm-2.12.so
64.00 1.6% __strcmp_sse42 /lib64/libc-2.12.so
53.00 1.3% Rf_findVarInFrame3 /usr/local/R/lib64/R/bin/exec/R
53.00 1.3% Rf_protect /usr/local/R/lib64/R/bin/exec/R
50.00 1.2% _IO_str_init_static_internal /lib64/libc-2.12.so
50.00 1.2% Rf_eval /usr/local/R/lib64/R/bin/exec/R
43.00 1.0% Rf_formatReal /usr/local/R/lib64/R/bin/exec/R
43.00 1.0% Rf_matchArgs /usr/local/R/lib64/R/bin/exec/R
41.00 1.0% _int_malloc /lib64/libc-2.12.so
36.00 0.9% _itoa_word /lib64/libc-2.12.so
33.00 0.8% __ieee754_log /lib64/libm-2.12.so
31.00 0.8% Rf_EncodeReal /usr/local/R/lib64/R/bin/exec/R
29.00 0.7% Rf_mkPROMISE /usr/local/R/lib64/R/bin/exec/R
29.00 0.7% do_bind /usr/local/R/lib64/R/bin/exec/R
28.00 0.7% Rf_install /usr/local/R/lib64/R/bin/exec/R
27.00 0.7% __vsnprintf /lib64/libc-2.12.so
27.00 0.7% _IO_no_init /lib64/libc-2.12.so
23.00 0.6% _IO_old_init /lib64/libc-2.12.so
22.00 0.5% __GI__nss_files_parse_servent /lib64/libnss_files-2.12.so
22.00 0.5% Rconn_printf /usr/local/R/lib64/R/bin/exec/R
22.00 0.5% finite /lib64/libm-2.12.so
22.00 0.5% findVarLocInFrame /usr/local/R/lib64/R/bin/exec/R
21.00 0.5% Rf_getAttrib /usr/local/R/lib64/R/bin/exec/R
Eu suspeito de ulimit
e '' cota de disco . After disabling the disk quota, the problem is still exist. Unfortunately, limits are equal under
raiz and
john . Here is the output of
ulimit -a '(graças a @Eric DANNIELOU):
# ulimit -a
core file size (blocks, -c) 0
data seg size (kbytes, -d) unlimited
scheduling priority (-e) 0
file size (blocks, -f) unlimited
pending signals (-i) 127383
max locked memory (kbytes, -l) 64
max memory size (kbytes, -m) unlimited
open files (-n) 1024
pipe size (512 bytes, -p) 8
POSIX message queues (bytes, -q) 819200
real-time priority (-r) 0
stack size (kbytes, -s) 10240
cpu time (seconds, -t) unlimited
max user processes (-u) 1024
virtual memory (kbytes, -v) unlimited
file locks (-x) unlimited
# su john
$ ulimit -a
core file size (blocks, -c) 0
data seg size (kbytes, -d) unlimited
scheduling priority (-e) 0
file size (blocks, -f) unlimited
pending signals (-i) 127383
max locked memory (kbytes, -l) 64
max memory size (kbytes, -m) unlimited
open files (-n) 1024
pipe size (512 bytes, -p) 8
POSIX message queues (bytes, -q) 819200
real-time priority (-r) 0
stack size (kbytes, -s) 10240
cpu time (seconds, -t) unlimited
max user processes (-u) 1024
virtual memory (kbytes, -v) unlimited
file locks (-x) unlimited
Sistema Operacional: CentOS 6.2
HW: Intel Core-i7 16 GB de RAM
Obrigado antecipadamente!