SUSE LINUX Enterprise & openSUSE Community
มีนาคม 19, 2019, 04:41:53 AM *
ยินดีต้อนรับคุณ, บุคคลทั่วไป กรุณา เข้าสู่ระบบ หรือ ลงทะเบียน
ส่งอีเมล์ยืนยันการใช้งาน?

เข้าสู่ระบบด้วยชื่อผู้ใช้ รหัสผ่าน และระยะเวลาในเซสชั่น
ข่าว:
 
   หน้าแรก   ช่วยเหลือ ค้นหา เข้าสู่ระบบ สมัครสมาชิก  

[Why we need your support] SUSE and openSUSE are trademarks of Attachmate Group, Inc. - WE ARE NOT IN ANY WAY ASSOCIATED WITH SUSE AND ATTACHMATE GROUP. SUSEThailand.com is a SUSE Linux user and community found in Thailand but not limited to other country suse linux user to join in. Currently active contents (How to's, Scripts, Tips, Tricks, Tutorials, Linux Command Line, and Troubleshooting) this suse linux how to's and expert support are SUSE Linux.
หน้า: [1]   ลงล่าง
  พิมพ์  
ผู้เขียน
หัวข้อ: Script for monitoring CPU usage  (อ่าน 1916 ครั้ง)
0 สมาชิก และ 1 บุคคลทั่วไป กำลังดูหัวข้อนี้
Sontaya
Administrator
Expert : ผู้เชี่ยวชาญ
*****

Karma: +1/-0
ออฟไลน์ ออฟไลน์

กระทู้: 1931


Administrator


เว็บไซต์
« เมื่อ: ธันวาคม 07, 2011, 04:00:05 PM »


ตัวอย่างสคริปต์สำหรับ monitor process ID ชื่อ acroread
ถ้า process ID ใช้ CPU เกิน 90% ในระยะเวลาที่กำหนดไว้ (5นาที) ให้ kill process นี้

ลองนำไปประยุกต์ใช้งานดูนะครับ

โค๊ด:
#!/bin/bash

#: Title : Script for monitoring CPU usage  
#: Date Created : December 07, 2011
#: Author : Sontaya Potibut <sontaya@susethailand.com>
#: Version : 1.00
#: Description : This script use for kill acroread process. If usage over 90% of CPU.
#: Options :
#: Source URL : http://nixcraft.com/shell-scripting/923-cpu-usage-shell-script-monitoring-cpu-usage.html

#
# This is the standard GPL Statement, leave at the top of the script.
# Just use the command show_gpl after this function for it to be shown.
#

function show_gpl {
echo ""
echo "CPU usage Shell script"
echo "Copyright (C) 2011 by Sontaya Potibut, sontaya@susethailand.com"
echo ""
echo "This program is distributed in the hope that it will be useful,"
echo "but WITHOUT ANY WARRANTY; without even the implied warranty of"
echo "MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the"
echo "GNU General Public License for more details."
echo ""
echo "You should have received a copy of the GNU General Public License"
echo "along with this program; if not, write to the Free Software"
echo "Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA"
echo ""      
}

# Will check the acroread process ID (PID)
PROID=`ps ax | grep "acroread" | grep -v grep | awk '{print $1}'`

# If $PROID is empty we stop
if [ "$PROID" == "" ]; then

        echo "acroread not running"
else
        #Else we proceed

        echo "acroread found with PROID:" $PROID

        #We get the CPU
        CPU=`ps aux | grep "acroread" | grep -v grep | awk '{print $3}'`
        echo "CPU status is:" $CPU

        CPU1=`echo $CPU | cut -c1-3`
echo $CPU1

# Wait
sleep 300

        CPU1=`echo $CPU | cut -c1-3`
        echo $CPU1

# Check
        st=`echo "$CPU1 > 90.0" | bc`

        if [ $st -eq 1 ]; then
kill $PROID
                echo "CPU lower then 90, so we kill and restart"
        else
                echo "CPU is fine"
        fi
fi

exit 0

# End Of Script

แจ้งลบกระทู้นี้หรือติดต่อผู้ดูแล   บันทึกการเข้า

ageLOC Technology
หน้า: [1]   ขึ้นบน
  พิมพ์  
 
กระโดดไป:  

(@)2007 SUSE Linux user community found in Thailand. This site is not an official openSUSE and SUSE website, and is not in any way affiliated with or endorsed by SUSE Linux GmbH or Novell. openSUSE and SUSE are trademarks of Novell, Inc. in the United States and other countries.
Powered by MySQL Powered by PHP Powered by SMF 1.1.21 | SMF © 2006-2009, Simple Machines Valid XHTML 1.0! Valid CSS!
หน้านี้ถูกสร้างขึ้นภายในเวลา 0.038 วินาที กับ 19 คำสั่ง (Pretty URLs adds 0.006s, 2q)