เคยไหมที่ต้องการรู้ข้อมูลของเซิร์ฟเวอร์ ว่าใช้ RAM อะไร? ใช้ CPU อะไร? ใช้ HardDisk อะไร? วันนี้เรามีโค้ดง่ายๆที่จะตรวจสอบให้รู้ว่าเซิร์ฟเรามีอะไรบ้าง โดยใช้โค้ดตามนี้
<pre>
<b>Uptime:</b>
system("uptime");
<b>System Information:</b>
system("uname -a");
<b>Memory Usage (MB):</b>
system("free -m");
<b>Disk Usage:</b>
system("df -h");
<b>CPU Information:</b>
system("cat /proc/cpuinfo | grep \"model name\\|processor\""); </pre>
โดยเซิร์ฟของคุณต้องเป็น Linux และเปิดคำสั่ง system() เอาไว้ด้วย เมื่อเรียกโดย PHP เราจะได้ค่าออกมาดังนี้
Uptime:
22:55:29 up 90 days, 22:15, 0 users, load average: 1.87, 1.59, 1.36
System Information:
Linux athon.websitewelcome.com 2.6.33.1 #6 SMP PREEMPT Tue Mar 23
23:09:34 CDT 2010 i686 i686 i386 GNU/Linux
Memory Usage (MB):
total used free shared buffers
cached
Mem: 8037 7704 333 0 300
6030
-/+ buffers/cache: 1373 6664
Swap: 6142 0 6141
Disk Usage:
Filesystem Size Used Avail Use% Mounted on
/dev/sda1 4.9G 939M 3.7G 20% /
/dev/sda7 1.3T 273G 928G 23% /home
/dev/sda6 3.9G 143M 3.6G 4% /tmp
/dev/sda3 25G 7.0G 17G 31% /usr
/dev/sda2 49G 28G 19G 61% /var
tmpfs 4.0G 0 4.0G 0% /dev/shm
none 4.0G 6.6M 4.0G 1% /var/spool/exim
CPU Information:
processor : 0
model name : Intel(R) Xeon(R) CPU E5405 @ 2.00GHz
processor : 1
model name : Intel(R) Xeon(R) CPU E5405 @ 2.00GHz
processor : 2
model name : Intel(R) Xeon(R) CPU E5405 @ 2.00GHz
processor : 3
model name : Intel(R) Xeon(R) CPU E5405 @ 2.00GHz
processor : 4
model name : Intel(R) Xeon(R) CPU E5405 @ 2.00GHz
processor : 5
model name : Intel(R) Xeon(R) CPU E5405 @ 2.00GHz
processor : 6
model name : Intel(R) Xeon(R) CPU E5405 @ 2.00GHz
processor : 7
model name : Intel(R) Xeon(R) CPU E5405 @ 2.00GHz
ง่ายดีใช่ไหมละครับ เราสามารถนำวิธีนี้ไปประยุกต์ใช้ตรวจสอบเมื่อ Server มีการโหลดเยอะๆ หรือหน่วยความจำใกล้เต็มได้ด้วย