Единственный способ диагностировать проблему как это с партиями и большим количеством данных. Ознакомьтесь с vmstat
и iostat
. Инструмент, о котором я недавно узнал в этом потоке, dstat
который эффективно комбинирует два.
Для проблем как та Вы описываете, эта команда, вероятно, была бы полезна:
$ dstat -M app -cdnygl
Это сообщит относительно ЦП, IO (диск и сеть), прерывания, подкачка, и загрузит среднее число. Как миленькая премия, это будет включать название любого процесса, был "самым дорогим" время, снимок был взят. К сожалению, та конкретная команда производит вывод, слишком широкий для вставки здесь, таким образом, вот немного более консервативная версия:
$ dstat -M app -cdn --most-expensive-- ----total-cpu-usage---- -dsk/total- -net/total- process |usr sys idl wai hiq siq| read writ| recv send bacula-fd 0| 1 0 98 0 0 0| 426k 108k| 0 0 bash 1| 2 2 96 0 0 0| 0 20k|1460B 1804B apache2 8| 4 2 94 0 0 0| 0 0 | 76k 15k | 1 3 96 0 0 0| 0 0 |1132B 1034B apache2 1| 2 2 96 0 0 0| 0 8192B| 11k 3895B | 2 1 96 0 0 0| 0 32k|3322B 1338B kipmi0 1| 2 2 96 0 0 0| 0 0 |1309B 1146B
Походит ./sample
сценарий обертки для чего-то еще и называет другой сценарий/программу на строке 25, что Вы не имеете, выполняют полномочия к.
Я попробовал бы кошке ./sample
видеть, что идет (или вокруг) строка 25, что она звонила бы.
Если Вы не понимаете то, что продолжается, можно отправить содержание сценария в вопросе, и мы выручим Вас.
Возможно, Ваш двоичный файл:
system("/script/on/which/you/have/no/permission");
или
exec("/script/on/which/you/have/no/permission");
Как Marcel сказал, вероятно, существует a exec
звоните в другой исполняемый файл. Попробуйте выполняет его с strace
, и необходимо узнать это, т.е.:
$ strace a.out|grep exec
...snip...
execve("/bin/ls", ["ls"], [/* 37 vars */]) = 0
...snip...