当服务器超载时,无论是虚拟服务器还是专用服务器,都会导致网站加载缓慢,并产生令人烦恼的错误而不是内容。为了避免这样的结果,有必要仔细监控其参数并及时进行资源分析,
接下来,我们将研究如何使用托管服务提供商的工具以及通过服务器端的终端来诊断单个资源。此外,我们将考虑各种方法来解决与系统性能不佳相关的问题。这些说明适用于任何运行 Linux 操作系统的服务器,无论预装了什么软件。
通过 VMmanager 检查服务器资源
VMmanager 虚拟化工具是最简单的,但同时也是通用的诊断解决方案。它在确保高效管理 专用 or 虚拟服务器 在大多数现代托管服务提供商上。例如,检查将在该工具的第 6 版上执行,但是,以前的版本也可能进行类似的诊断。
为了进行分析,您需要前往 虚拟机管理器 控制面板并选择所需的虚拟机:
接下来,用户可以立即看到实时资源的使用情况。如果想要更详细的统计信息,则需要选择“参数”:
顶部的详细统计信息选项卡显示了一般服务器特性和虚拟化类型。在图表上,您可以实时查看网络拥塞、处理器负载、RAM 和磁盘空间使用情况:
要更详细地分析特定时间段内的磁盘空间或资源统计信息,必须选择相应的菜单项。有关虚拟磁盘的信息以以下格式显示:
特定资源的负载统计信息以方便的图表形式显示:
可以显示一天、一周、一个月、一年的负载图,或手动选择必要的日期。显示所有主要资源:处理器、RAM、存储、网络接口。
许多用户希望资源在一定时间内得到均匀使用。然而,情况并非总是如此。例如,即使在空闲模式下,网络接口看起来也可能类似:
在这种情况下无需采取任何措施。但是,对于处理器、RAM 或磁盘存储,服务器不应持续使用 100% 的资源;建议负载不超过 70%。
在终端中检查服务器资源
总负荷分析
我们之前已经研究过 服务器资源的常规诊断 文章中我们讨论了以下标准工具 顶部/顶部,还研究了安装和配置 网络数据 实用程序,它允许我们通过浏览器监控服务器资源。在本文中,我们将介绍 HTOP 作为替代 最佳 用于一般系统资源分析的实用程序。
默认情况下,Linux 发行版中未预安装该工具,因此让我们从安装开始。对于 Debian/Ubuntu,我们使用以下命令:
apt-get install htop
对于 CentOS,使用 埃佩尔 存储库。默认情况下,它们是禁用的,因此第一个命令负责添加它们,第二个命令用于安装 HTOP:
yum -y install epel-release
yum install htop -y
安装后,您可以从应用程序菜单或终端中使用相应的命令打开该实用程序:
htop
因此,用户将能够看到有关系统的所有信息:
左上角显示处理器数据,包括每个核心、RAM 和交换内存的使用情况。Linux 中的交换内存用于 RAM 不足的情况,确保系统稳定性。在右上角,您可以看到处理器负载和活动任务的数量。中间部分显示活动进程,并可进行排序。下半部分提供有关热键和功能的信息。“帮助”部分包含该程序功能的详细描述:
在诊断系统本身之前,需要准确了解服务器上使用了多少个核心/处理器。用户可以在左上角找到它们的值 HTOP 效用:
或者通过运行命令:
nproc
根据获得的值,将计算允许的总负载(右上角的平均负载)。在我们的例子中,它等于 2,这意味着最大负载为 2.0。但是,这并不意味着系统将在负载 2.0 下完全冻结。这个数字可能会更高,但在这种情况下,所有其他任务都将在队列中,并且服务器本身将被加载。理想值被认为是负载不超过 70%。例如,单处理器服务器上的平均负载应在 0.7 以内。对于上述示例中的服务器,一个好的指标是值不高于 1.4。
运用 HTOP 或其类似程序,用户需要评估主要资源:平均处理器负载、RAM 使用率、磁盘空间和网络接口。如果资源很少,则需要按 CPU 使用率对进程进行排序,识别高消耗操作,然后优化或终止它们。如果无法关闭程序或优化失败,建议考虑切换到配置更强大的服务器。
检查可用 RAM
在本节中,我们将仔细研究任何服务器运行的一个重要方面——足够的可用 RAM。
通过终端检查任何 Linux 系统上的可用 RAM 的最简单方法是使用以下命令:
free -m
在输出中我们得到以下以兆字节为单位的数据:总 RAM、已用 RAM、可用 RAM 和缓存 RAM,以及交换卷:
该工具可用于获取特定时间点的一般数据。对于动态 RAM 使用情况诊断,我们建议使用 vmstat的 实用程序,它允许我们配置输出信息的更新频率:
vmstat 1
在上面的例子中,数据将每秒更新一次。输出格式类似于 免费:
该工具还提供一般系统信息,但在我们的例子中,只有负责 RAM 的列(即内存和交换)才是重要的。所有值均以千字节为单位。让我们更详细地看一下它们:
内存 (内存):
- 开关:虚拟内存换成物理内存。
- 免费:可用的物理内存(RAM)。
- 浅黄色:磁盘写入之前用作缓冲区的内存。
- 缓存:使用内存作为缓存,以加快访问速度。
互换
- si:使用内存作为缓存,以加快访问速度。
- so:从物理内存写入交换内存的数据。
另外,值得一提的是,所有系统资源诊断实用程序最初都会从日志中获取数据。对于 RAM,用户可以通过打开相应的文件直接查看数据:
cat /proc/meminfo
输出相当广泛,但只需关注第一条记录来分析内存即可:
RAM 使用率过高的问题通常与特定任务或进程有关。一开始,使用常用工具进行诊断以识别有问题的进程就足够了。作为解决方案,您可以考虑优化特定应用程序、启用缓存和数据压缩(如果我们谈论的是大量信息)或增加服务器配置。
磁盘空间控制
对服务器磁盘空间的诊断与对其他资源的诊断一样重要。通常,需要检查的信号有:无法创建或写入现有文件、系统性能缓慢以及各种输入/输出错误。
最方便的检查方法是使用以下命令:
df -h
作为响应,该工具将显示所有已安装磁盘分区的信息:
您可以使用此命令进行更详细的目录监控:
du -hs /*
这样,用户将能够了解每个目录占用了多少空间。要恢复系统性能,您需要优化占用内存最多的磁盘分区。建议不要使用超过总可用空间的 80-90%;剩余的 10-20% 应该足以保证系统稳定运行。如果无法优化,建议增加磁盘空间。这可以通过添加新磁盘或扩展现有磁盘以及使用云存储来实现。无论选择哪种解决方案,建议始终制作备份以避免文件丢失。
网络接口检查
服务器诊断的最后一个但同样重要的方面是检查网络接口。 网络猪 如果您想要实时获取有关网络进程所占流量的一般信息,可以使用该实用程序。
在 Cent OS 上安装并启动:
yum install nethogs
nethogs
对于 Debian/Ubuntu:
apt-get install nethogs
nethogs
该工具将显示当前正在使用网络资源的进程:
我们推荐使用 顶 进行更详细的分析。
在 Cent OS 上安装并启动:
yum install iftop
iftop
对于 Debian/Ubuntu:
apt-get install iftop
iftop
程序输出的是活动连接列表,其中显示 IP 地址、端口、传输的数据量和传输速度。程序的主要优势是网络通道加载的可视化设计:
在诊断服务器网络通道并确定高负载问题后,建议增加托管提供商端的网络连接带宽或优化特定问题接口的设置。作为备用工具,您可以使用各种监控系统快速跟踪网络活动的变化,并在必要时根据要求定期更新网络基础设施。
结语
总之,需要强调的是,诊断服务器资源是有效管理 虚拟 和 专用 服务器。本文为我们提供了查看完整服务器分析的主要工具的可能性,还提供了解决可能问题的实用建议。定期的系统诊断使服务器能够无缝运行,即使没有用户主动参与。