如何使用PHP实时监控Linux服务器的cpu,内存,硬盘信息

如何使用PHP实时监控Linux服务器的cpu,内存,硬盘信息,第1张

1,Linux下可以在/proc/cpuinfo中看到每个cpu的详细信息。但是对于双核的cpu,在cpuinfo中会看到两个cpu。常常会让人误以为是两个单核的cpu。

其实应该通过Physical

Processor

ID来区分单核和双核。而Physical

Processor

ID可以从cpuinfo或者dmesg中找到.

flags

如果有

ht

说明

支持超线程技术

判断物理CPU的个数可以查看physical

id

的值,相同则为同一个物理CPU

2,查看内存大小:

cat

/proc/meminfo

|grep

MemTotal

3,其他一些可以查看详细

linux系统

信息的命令和方法:

uname

-a

#

查看内核/操作系统/

CPU信息

的linux系统信息命令

head

-n

1

/etc/issue

#

查看操作系统版本,是数字1不是字母L

cat

/proc/cpuinfo

#

查看CPU信息的linux系统信息命令

hostname

#

查看计算机名的linux系统信息命令

lspci

-tv

#

列出所有

PCI设备

lsusb

-tv

#

列出所有USB设备的linux系统信息命令

lsmod

#

列出加载的内核模块

env

#

查看

环境变量

资源

free

-m

#

查看内存使用量和

交换区

使用量

df

-h

#

查看各分区使用情况

du

-sh

#

查看指定目录的大小

grep

MemTotal

/proc/meminfo

#

查看内存总量

grep

MemFree

/proc/meminfo

#

查看空闲内存量

uptime

#

查看系统

运行时间

、用户数、负载

cat

/proc/loadavg

#

查看系统负载磁盘和分区

mount

|

column

-t

#

查看挂接的分区状态

fdisk

-l

#

查看所有分区

swapon

-s

#

查看所有

交换分区

hdparm

-i

/dev/hda

#

查看磁盘参数(仅适用于

IDE设备

)

dmesg

|

grep

IDE

#

查看启动时IDE设备检测状况网络

ifconfig

#

查看所有网络接口的属性

iptables

-L

#

查看防火墙设置

route

-n

#

查看

路由表

netstat

-lntp

#

查看所有监听端口

netstat

-antp

#

查看所有已经建立的连接

netstat

-s

#

查看

网络统计

信息进程

ps

-ef

#

查看所有进程

top

#

实时显示

进程状态

用户

w

#

查看活动用户

id

#

查看指定用户信息

last

#

查看

用户登录

日志

cut

-d:

-f1

/etc/passwd

#

查看系统所有用户

cut

-d:

-f1

/etc/group

#

查看系统所有组

crontab

-l

#

查看当前用户的计划任务服务

chkconfig

–list

#

列出所有系统服务

chkconfig

–list

|

grep

on

#

列出所有启动的系统服务程序

rpm

-qa

#

查看所有安装的软件包

cat

/proc/cpuinfo

:查看CPU相关参数的linux系统命令

cat

/proc/partitions

:查看linux硬盘和分区信息的系统信息命令

cat

/proc/meminfo

:查看linux系统内存信息的linux系统命令

cat

/proc/version

:查看版本,类似uname

-r

cat

/proc/ioports

:查看设备io端口

cat

/proc/interrupts

:查看中断

cat

/proc/pci

:查看pci设备的信息

cat

/proc/swaps

:查看所有swap分区的信息

在服务端建立一个根据需要进行循环的PHP脚本就可以。

猜测一下,您的第二个问题,是不是想进行相关检测以避免重复触发这个脚本。

实际上,不建议由用户行为触发这个脚本,无论是服务端代码,还是客户端的异步Ajax。

如果要用PHP脚本进行不停的循环监控,请联系运维人员,服务器启动,即在服务端开始运行这个脚本,他们会向您提供解决方案的。

真正的建议是,如果有任何可能,都不要使用PHP脚本利用循环代码进行服务端的监控。

不得不承认,这个方面PHP的稳定性还差一些,Java或许可以这么做,PHP就比较痛苦了。

比较可能的办法是请运维人员帮忙,通报监控逻辑,然后请他安装各种触发条件调用相应的PHP代码。

如果坚持使用PHP脚本进行相关工作,有两个建议给您:

尽快释放资源,无论脚本使用了什么资源,包括文件、内存、数据库等等,都尽快释放,这种地方可万万不能偷懒,否则就是自虐了。

在这个脚本中进行独立的手工日志输出,任何一层循环的入口都要进行记录,这样在监控失败的时候才有办法查找问题。


欢迎分享,转载请注明来源:夏雨云

原文地址:https://www.xiayuyun.com/zonghe/642955.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-07-20
下一篇2023-07-20

发表评论

登录后才能评论

评论列表(0条)

    保存