2014-11-23 91 views
0

我有用Perl編寫的多個cron作業,它們似乎導致高服務器負載。Perl Crons Jobs =高服務器負載?

當我通過SSH運行top時,它顯示Perl使用最多的CPU和內存。但是,由於存在多個cron作業,因此我需要明確知道哪一個正在使用最多的資源。

有什麼辦法可以檢查哪個Perl文件使用的資源最多?

回答

1

注意進程頂部顯示的PID使用cpu。然後做一個

ps -ef | grep perl 

匹配的PID與列出的一個,你會看到完整的命令行的perl進程爲高CPU工作。

+0

您也可以通過按'c'在頂部看到完整的命令行,雖然這將需要一個寬的終端窗口。另外如果你有PID,你可以執行'ps -fp $ pid'。 – 2014-11-23 20:22:06

1

那麼,如果你看ps -ef你應該看到哪個腳本映射到該進程ID。您也可以使用strace -fTt -p <pid>將調試器附加到特定的進程ID以查看它在做什麼。

或者您可以修改腳本以將$0更改爲有意義的內容,告訴您哪個腳本是哪個腳本。

但很難說沒有一點細節。腳本運行的時間比你工作需要「開火」的時間長嗎?因爲如果你開始積壓積壓作業,隨着越來越多的人開始堆積起來,你會慢慢變壞。