Golfreeze.packetlove.com: Life style of Golfreeze Canon400D Family kammtan.com Jazz Freebsd Unix Linux System Admin guitar Music
All about unix linux freebsd and FAQ for Packetlove.com Web hosting , Mail hosting , VoIP + IP PBX server => command , shell script ,tool , crontab => Topic started by: golfreeze on เมษายน 05, 2017, 10:37:00 pm
-
เช็ค zombie process แล้วตามหาต้นตอของ service ที่เกิด zombie
โดยปกติแล้วในระบบ unix หรือ Linux จะมี process ที่หยุดการทำงาน แล้วบางทีไม่ถูกปิดลงอย่างปกติ จนเกิดเป็น process ที่เรียกว่า zombie ซึ่งบางครั้งมีการจอง mem ไว้ แล้วทำให้ process ใหม่ที่เข้ามาเยอะๆ ทำงานได้ไม่ทัน
ดังนั้นเราจึงต้องรู้วิธีการ tracking หาว่า มันเกิดมาจาก service ไหนแล้วทำการ restart service หรือเข้าไปแก้ไข coding ของคำสั่งนั้นซะ
เริ่มตั้งแต่ใช้งาน ps หาครับ
$ ps aux | grep 'Z'
USER PID %CPU %MEM VSZ RSS TTY STAT START TIME COMMAND
userb 9972 0.0 0.0 7628 992 pts/2 S+ 19:40 0:00 grep --color=auto Z
userb 9572 0.0 0.0 0 0 ?? Z 19:40 0:00 [wc] defunct
ทำการค้นหาดูต้นตอ process id
$lsof -i -n -p 9972
หรือใช้
$pstree -p -s 9972
ก็ได้ครับ
-
มีอีกตัวที่แนะนำครับผม command : strace
เช่นผมมี process id 3913 ที่ได้จากการรัน "top" แล้วจะค้นหาว่ามีการอ่านเขียน อะไรบ้าง
-o = output log ไปที่ไหน
-p = process id
-f = trace child process also
#strace -f -p 3913 -o /home/golf/chronyd_log_strace