Le script R longue durée se tue automatiquement

Je tente d'exécuter une expérience pour ma thèse de maîsortingse qui implique un script R qui doit fonctionner pendant un certain time (jusqu'à 24 heures d'utilisation à 100% du processeur). C'est un process à un seul kernel, et pour autant que je sache, j'ai suffisamment de memory pour le travail. Le problème est que quand je le fais passer du jour au lendemain, il se fait tuer au milieu de la nuit sans que je ne lance quoi que ce soit. Pour vous donner une idée de la sortie, voici ce que je regarde:

➜ r-lda git:(master) ✗ Rscript slda-test-gibbs-1E6-01.r | tee slda-test-gibbs-1E6-01.log Loading required package: lattice Loading required package: ggplot2 Loading required package: methods [1] "LOADING DATASET: data/split_1E6.dat" [1] "DATASET LOADED" [1] "TRAINING DATASET SIZE: 800000" [1] "TESTING DATASET SIZE: 200000" [1] "VOCAB SIZE: 129276" [1] "TRAINING E=50 M=2 K=600" [1] 17722 killed Rscript slda-test-gibbs-1E6-01.r | 17723 done tee slda-test-gibbs-1E6-01.log 

Je sais que ce n'est pas très instructif, mais je ne sais pas vraiment comment diagnostiquer ce symptôme plus loin. C'est arrivé deux fois maintenant, et je n'ai aucune idée de ce qui se passe. En général, je ne travaille pas beaucoup avec les scripts R, et un peu de googler n'a pas donné de véritable explication à cela. Pour vous donner une idée de mon système:

 ➜ r-lda git:(master) ✗ uname -a Linux ****** 4.2.5-1-ARCH #1 SMP PREEMPT Tue Oct 27 08:13:28 CET 2015 x86_64 GNU/Linux ➜ r-lda git:(master) ✗ head -n26 /proc/cpuinfo processor : 0 vendor_id : GenuineIntel cpu family : 6 model : 60 model name : Intel(R) Core(TM) i7-4770K CPU @ 3.50GHz stepping : 3 microcode : 0x12 cpu MHz : 3499.863 cache size : 8192 KB physical id : 0 siblings : 8 core id : 0 cpu cores : 4 apicid : 0 initial apicid : 0 fpu : yes fpu_exception : yes cpuid level : 13 wp : yes flags : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush dts acpi mmx fxsr sse sse2 ss ht tm pbe syscall nx pdpe1gb rdtscp lm constant_tsc arch_perfmon pebs bts rep_good nopl xtopology nonstop_tsc aperfmperf eagerfpu pni pclmulqdq dtes64 monitor ds_cpl vmx est tm2 ssse3 fma cx16 xtpr pdcm pcid sse4_1 sse4_2 movbe popcnt tsc_deadline_timer aes xsave avx f16c rdrand lahf_lm abm ida arat epb pln pts dtherm tpr_shadow vnmi flexpriority ept vpid fsgsbase tsc_adjust bmi1 avx2 smep bmi2 erms invpcid xsaveopt bugs : bogomips : 7015.72 clflush size : 64 cache_alignment : 64 address sizes : 39 bits physical, 48 bits virtual power management: ➜ r-lda git:(master) ✗ free -h total used free shared buff/cache available Mem: 15G 3.4G 10G 291M 1.4G 11G Swap: 15G 773M 15G 

Toute idée serait grandement apprécié. Merci d'avance.

Le meilleur sharepoint départ sont les journaux. Puisque vous dites que le journal des applications n'affiche rien d'utile, vous devriez utiliser les journaux système comme les tâches dmesg et cron. Une input commune dans dmesg serait un MOO (memory insuffisante) -erreur mais vous avez dit qu'il y avait beaucoup de memory libre. Pour get le time d'un accident, ma façon préférée est de courir

 date; time command 

command est le programme à exécuter. En ajoutant le time de sortie par le time après le programme s'est écrasé à l'heure de sortie par date au démarrage, vous obtenez l'heure qu'il s'est écrasé. Exécutez cette opération plusieurs fois et searchz des templates comme la même durée de fonctionnement ou le même time de panne. Regardez aussi les cronjobs quotidiens qui ne sont pas lancés à la même heure tous les jours.

D'autres raisons peuvent être un bug dans le programme ou le programme utilisant un pointeur 32 bits et ne pas allouer plus de memory.