热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

php远程监控硬盘状态,监控磁盘状态,内存状态,进程,网络状态

监控io性能iostat命令,可以直接查看磁盘的使用情况[rootlocalhost~]#iostatLinux3.10.0-123.el7.x86_64(local

监控io性能

iostat命令,可以直接查看磁盘的使用情况

[root@localhost ~]# iostat

Linux 3.10.0-123.el7.x86_64 (localhost.localdomain) 2018年07月12日 _x86_64_(4 CPU)

avg-cpu: %user %nice %system %iowait %steal %idle

0.18 0.00 1.14 1.90 0.00 96.78

Device: tps kB_read/s kB_wrtn/s kB_read kB_wrtn

sdb 1.04 4.16 0.00 1564 0

sda 14.70 284.06 14.51 106842 5459

dm-0 0.24 0.97 0.00 364 0

iostat 1 10动态显示磁盘使用情况,隔一秒输出一次,一共输出10次

iostat -x 比较全面的显示磁盘使用情况,其中%util是CPU等待硬盘读写数据的时间占比,如该数据过大则说明磁盘的读写出现了问题。

[root@localhost ~]# iostat -x

Linux 3.10.0-123.el7.x86_64 (localhost.localdomain) 2018年07月12日 _x86_64_(4 CPU)

avg-cpu: %user %nice %system %iowait %steal %idle

0.12 0.00 0.81 1.26 0.00 97.81

Device: rrqm/s wrqm/s r/s w/s rkB/s wkB/s avgrq-sz avgqu-sz await r_await w_await svctm %util

sdb 0.00 0.00 0.69 0.00 2.78 0.00 8.00 0.00 5.73 5.73 0.00 5.21 0.36

sda 1.06 0.03 7.64 2.20 189.77 9.73 40.57 0.11 11.28 13.02 5.24 4.85 4.77

dm-0 0.00 0.00 0.16 0.00 0.65 0.00 8.00 0.00 1.99 1.99 0.00 1.99 0.03

iotop 该命令会把读写磁盘的进程动态的显示出来 在使用LINUX时经常会遇到系统IO占用很高,系统IO占用可以使用iostat -x 1查看,但是查看哪个进程占用的磁盘IO负载高,就可以使用iotop工具了。

[root@localhost ~]# iotop

Total DISK READ :0.00 B/s | Total DISK WRITE : 0.00 B/s

Actual DISK READ:0.00 B/s | Actual DISK WRITE: 0.00 B/s

TID PRIO USER DISK READ DISK WRITE SWAPIN IO> COMMAND

1 be/4 root 0.00 B/s 0.00 B/s 0.00 % 0.00 % systemd --switched-root --system --deserialize 23

2 be/4 root 0.00 B/s 0.00 B/s 0.00 % 0.00 % [kthreadd]

3 be/4 root 0.00 B/s 0.00 B/s 0.00 % 0.00 % [ksoftirqd/0]

5 be/0 root 0.00 B/s 0.00 B/s 0.00 % 0.00 % [kworker/0:0H]

6 be/4 root 0.00 B/s 0.00 B/s 0.00 % 0.00 % [kworker/u256:0]

7 rt/4 root 0.00 B/s 0.00 B/s 0.00 % 0.00 % [migration/0]

8 be/4 root 0.00 B/s 0.00 B/s 0.00 % 0.00 % [rcu_bh]

9 be/4 root 0.00 B/s 0.00 B/s 0.00 % 0.00 % [rcuob/0]

10 be/4 root 0.00 B/s 0.00 B/s 0.00 % 0.00 % [rcuob/1]

11 be/4 root 0.00 B/s 0.00 B/s 0.00 % 0.00 % [rcuob/2]

12 be/4 root 0.00 B/s 0.00 B/s 0.00 % 0.00 % [rcuob/3]

13 be/4 root 0.00 B/s 0.00 B/s 0.00 % 0.00 % [rcuob/4]

14 be/4 root 0.00 B/s 0.00 B/s 0.00 % 0.00 % [rcuob/5]

15 be/4 root 0.00 B/s 0.00 B/s 0.00 % 0.00 % [rcuob/6]

监控内存使用情况

free命令 查看内存的使用情况。默认单位是kb

[root@localhost ~]# free

total used free shared buffers cached

Mem: 3869044 481724 3387320 8692 692 218860

-/+ buffers/cache: 262172 3606872

Swap: 2047996 0 2047996

可以看到物理内存的使用情况和swap分区的使用情况。如果swap分区使用较多了表示需要增加内存了。

free -h 自适应单位输出数值

free -m 以兆为单位输出数值

显示内容,

total:总内存大小 ;

used:已使用内存大小

free:空闲内存大小

shared:当前已废弃不用内存大小

buffers:缓冲空间大小

cached:缓存空间大小

available 大小是buff/cache未使用的部分+free的大小

监控进程

ps命令

ps -aux 显示进程情况,这是静态输出的。

ps -aux |grep sshd 查看sshd进程是否开启

可以利用PID来杀死进程,kill pid号就可以实现

ls -l /proc/pid号,可以查看进程实在哪里启动的。

查看网络状态

netstat 列出端口信息

netstat -lnp 列出系统监听端口

netstat -an 查看系统的网络连接状况

netstat -lntp 列出监听端口,只看tcp的,不包括socket

ss -an 跟netstat -an 作用一样

[root@localhost ~]# netstat -lntp

Active Internet connections (only servers)

Proto Recv-Q Send-Q Local Address Foreign Address State PID/Program name

tcp 0 0 127.0.0.1:25 0.0.0.0:* LISTEN 2342/master

tcp 0 0 0.0.0.0:22 0.0.0.0:* LISTEN 1340/sshd

tcp6 0 0 ::1:25 :::* LISTEN 2342/master

tcp6 0 0 :::22 :::* LISTEN 1340/sshd

Linux抓包工具

tcpdump 抓包,yum install -y tcpdump先安装该工具

tcpdump -nn -i ,该指令中-nn是为了把主机名和端口都使用数字显示出来,主机名会显示成ip ,端口直接显示出端口号;-i是指定网卡(抓取哪个网卡的包)

tcpdump -c 可以指定抓包的数量

tcpdump -w 可以将抓包的数据流向内容写入到一个文件中

tcpdump -r 文件名 可以查看写入数据流向内容的文件

[root@localhost ~]# tcpdump -nn -c 5 -i eno16777736

tcpdump: verbose output suppressed, use -v or -vv for full protocol decode

listening on eno16777736, link-type EN10MB (Ethernet), capture size 262144 bytes

16:25:07.903212 IP 192.168.254.130.22 > 192.168.254.1.55550: Flags [P.], seq 1722853797:1722854009, ack 913713024, win 159, length 212

16:25:07.903638 IP 192.168.254.1.55550 > 192.168.254.130.22: Flags [.], ack 212, win 254, length 0

16:25:07.903830 IP 192.168.254.130.22 > 192.168.254.1.55550: Flags [P.], seq 212:408, ack 1, win 159, length 196

16:25:07.939544 IP 192.168.254.130.22 > 192.168.254.1.55550: Flags [P.], seq 408:684, ack 1, win 159, length 276

16:25:07.939730 IP 192.168.254.1.55550 > 192.168.254.130.22: Flags [.], ack 684, win 252, length 0

5 packets captured

6 packets received by filter

0 packets dropped by kernel



推荐阅读
  • 本文深入解析了JDK 8中HashMap的源代码,重点探讨了put方法的工作机制及其内部参数的设定原理。HashMap允许键和值为null,但键为null的情况只能出现一次,因为null键在内部通过索引0进行存储。文章详细分析了capacity(容量)、size(大小)、loadFactor(加载因子)以及红黑树转换阈值的设定原则,帮助读者更好地理解HashMap的高效实现和性能优化策略。 ... [详细]
  • 深入剖析Java中SimpleDateFormat在多线程环境下的潜在风险与解决方案
    深入剖析Java中SimpleDateFormat在多线程环境下的潜在风险与解决方案 ... [详细]
  • 在Cisco IOS XR系统中,存在提供服务的服务器和使用这些服务的客户端。本文深入探讨了进程与线程状态转换机制,分析了其在系统性能优化中的关键作用,并提出了改进措施,以提高系统的响应速度和资源利用率。通过详细研究状态转换的各个环节,本文为开发人员和系统管理员提供了实用的指导,旨在提升整体系统效率和稳定性。 ... [详细]
  • Java并发机制详解及其在数据安全性保障中的应用方案 ... [详细]
  • Python 伦理黑客技术:深入探讨后门攻击(第三部分)
    在《Python 伦理黑客技术:深入探讨后门攻击(第三部分)》中,作者详细分析了后门攻击中的Socket问题。由于TCP协议基于流,难以确定消息批次的结束点,这给后门攻击的实现带来了挑战。为了解决这一问题,文章提出了一系列有效的技术方案,包括使用特定的分隔符和长度前缀,以确保数据包的准确传输和解析。这些方法不仅提高了攻击的隐蔽性和可靠性,还为安全研究人员提供了宝贵的参考。 ... [详细]
  • 本文探讨了如何利用Java代码获取当前本地操作系统中正在运行的进程列表及其详细信息。通过引入必要的包和类,开发者可以轻松地实现这一功能,为系统监控和管理提供有力支持。示例代码展示了具体实现方法,适用于需要了解系统进程状态的开发人员。 ... [详细]
  • 提升Android开发效率:Clean Code的最佳实践与应用
    在Android开发中,提高代码质量和开发效率是至关重要的。本文介绍了如何通过Clean Code的最佳实践来优化Android应用的开发流程。以SQLite数据库操作为例,详细探讨了如何编写高效、可维护的SQL查询语句,并将其结果封装为Java对象。通过遵循这些最佳实践,开发者可以显著提升代码的可读性和可维护性,从而加快开发速度并减少错误。 ... [详细]
  • 初探性能优化:入门指南与实践技巧
    在编程领域,常有“尚未精通编码便急于优化”的声音。为了从性能优化的角度提升代码质量,本文将带领读者初步探索性能优化的基本概念与实践技巧。即使程序看似运行良好,数据处理效率仍有待提高,通过系统学习性能优化,能够帮助开发者编写更加高效、稳定的代码。文章不仅介绍了性能优化的基础知识,还提供了实用的调优方法和工具,帮助读者在实际项目中应用这些技术。 ... [详细]
  • 并发编程入门:初探多任务处理技术
    并发编程入门:探索多任务处理技术并发编程是指在单个处理器上高效地管理多个任务的执行过程。其核心在于通过合理分配和协调任务,提高系统的整体性能。主要应用场景包括:1) 将复杂任务分解为多个子任务,并分配给不同的线程,实现并行处理;2) 通过同步机制确保线程间协调一致,避免资源竞争和数据不一致问题。此外,理解并发编程还涉及锁机制、线程池和异步编程等关键技术。 ... [详细]
  • SQLite数据库CRUD操作实例分析与应用
    本文通过分析和实例演示了SQLite数据库中的CRUD(创建、读取、更新和删除)操作,详细介绍了如何在Java环境中使用Person实体类进行数据库操作。文章首先阐述了SQLite数据库的基本概念及其在移动应用开发中的重要性,然后通过具体的代码示例,逐步展示了如何实现对Person实体类的增删改查功能。此外,还讨论了常见错误及其解决方法,为开发者提供了实用的参考和指导。 ... [详细]
  • 在过去,我曾使用过自建MySQL服务器中的MyISAM和InnoDB存储引擎(也曾尝试过Memory引擎)。今年初,我开始转向阿里云的关系型数据库服务,并深入研究了其高效的压缩存储引擎TokuDB。TokuDB在数据压缩和处理大规模数据集方面表现出色,显著提升了存储效率和查询性能。通过实际应用,我发现TokuDB不仅能够有效减少存储成本,还能显著提高数据处理速度,特别适用于高并发和大数据量的场景。 ... [详细]
  • C#中实现高效UDP数据传输技术
    C#中实现高效UDP数据传输技术 ... [详细]
  • 本文详细探讨了Java事件处理机制的核心概念与实现原理,内容浅显易懂,适合初学者逐步掌握。通过具体的示例和详细的解释,读者可以深入了解Java事件模型的工作方式及其在实际开发中的应用。 ... [详细]
  • 如何在系统设置中找到高级配置选项 ... [详细]
  • 本文介绍了一种利用PHP cURL库高效提取Sohu邮箱联系人列表的方法。通过设置错误报告级别、定义Cookie文件路径等关键步骤,确保了代码的稳定性和可靠性。经过实际测试,该方法在2012年3月24日被验证为有效,能够快速准确地获取联系人信息。此外,文章还提供了详细的代码示例和注意事项,帮助开发者更好地理解和应用这一技术。 ... [详细]
author-avatar
脉趣小鱼
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有