


This article introduces how to set the bandwidth of a Linux instance and troubleshoot whether the CPU is full or high, and focuses on the specific steps. The content of this article is compact, and I hope you can gain something from it.
Linux instance bandwidth and CPU are full or high troubleshooting
When using cloud server ECS, if the service slows down or the ECS instance suddenly disconnects, you can consider the server bandwidth and CPU Is there any issue with running full or high? If you create an alarm task in advance, the system will automatically issue an alarm reminder when the bandwidth and CPU are full or high. Under Linux system, you can follow the following steps to troubleshoot:
Locate the problem. Find the specific processes that affect bandwidth and CPU running full or high.
Analysis and processing. Check whether the processes that affect bandwidth and CPU are running full or high are normal, and classify them for processing.
For normal processes: You need to optimize the program or upgrade the server configuration.
For abnormal processes: You can manually check and kill the process, or you can use third-party security tools to check and kill the process.
The relevant configurations and instructions in this article have been tested on the CentOS 6.5 64-bit operating system. The configuration of other types and versions of operating systems may be different. For details, please refer to the official documentation of the corresponding operating system.
If the CPU of the cloud server ECS Linux system continues to run high, it will affect system stability and business operations. This article briefly explains the troubleshooting and analysis of the problem of high CPU usage.
Problem location of CPU running full or high
If the CPU of cloud server ECS continues to run high, it will affect the stability and stability of the system. business operations are affected. In Linux systems, the common commands to view processes are as follows:
ps -aux ps -ef top
In Linux systems, the top command is usually used to view system load problems and locate processes that consume more CPU resources.
Operation steps
#Connect to the ECS instance through the console management terminal, see Using the remote connection function to connect to the ECS instance.
Note: When the resource load is abnormal, remote connection through SSH is usually not possible. It is recommended that you connect through the console management terminal.
View the current running status of the system through the top command.
top - 17:27:13 up 27 days, 3:13, 1 user, load average: 0.02, 0.03, 0.05 Tasks: 94 total, 1 running, 93 sleeping, 0 stopped, 0 zombie %Cpu(s): 0.3 us, 0.1 sy, 0.0 ni, 99.5 id, 0.0 wa, 0.0 hi, 0.0 si, 0.1 st KiB Mem: 1016656 total, 946628 used, 70028 free, 169536 buffers KiB Swap: 0 total, 0 used, 0 free. 448644 cached Mem PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND 1 root 20 0 41412 3824 2308 S 0.0 0.4 0:19.01 systemd 2 root 20 0 0 0 0 S 0.0 0.0 0:00.04 kthreadd
For load issues, you only need to pay attention to the first and third lines of information echoed. The details are as follows.
The content displayed on the first line of the top command is 17:27:13 up 27 days, 3:13, 1 user, load average: 0.02, 0.03, 0.05, which are the current time of the system and the times the system has reached so far. The running time, the number of users currently logged into the system, and the system load are consistent with the query results of directly executing the uptime command.
The third line of the top command will display the current overall usage of CPU resources, and the resource usage of each process will be displayed below.
Use the letter key P to sort the CPU usage in reverse order, and then locate the process that occupies a higher CPU in the system.
Note: Through the letter key M, you can sort the system memory usage. If there is a multi-core CPU, numeric key 1 can display the load status of each core CPU.
You can view the program file corresponding to each process ID through ll /proc/PID/exe.
Analysis and processing of CPU running full or high
CPU running full or high, after confirming the specific process results, For abnormal processes, you need to terminate them through the top command; for problems such as insufficient memory caused by the kswapd0 process, you need to upgrade the system specifications or optimize the program.
Use top to directly terminate the process that consumes a large amount of CPU
You can quickly terminate the corresponding abnormal process directly in the top running interface. The steps are as follows:
If you want to kill a process, just press the lowercase k key.
Enter the PID of the process you want to terminate (the first column of the top output result). For example, if you want to terminate the process with PID 86, enter 86 and press Enter.
After the operation is successful, a prompt message similar to Send pid 86 signal [15/sigterm] will appear on the interface. Just press Enter to confirm.
kswapd0 process occupation leads to high CPU
The operating system uses the paging mechanism to manage physical memory, and the system will virtualize part of the hard disk space into memory usage. Since the speed of memory is much faster than that of disk, the system must follow a certain paging mechanism to swap unnecessary pages to disk and transfer required pages to memory.
kswapd0 is the process responsible for paging in virtual memory management. When the server memory is insufficient, kswapd0 will perform a paging operation. This paging operation consumes a lot of host CPU resources. The operation steps are as follows:
View the kswapd0 process through the top command.
检查该进程是否持续处于非睡眠状态,且运行时间较长。若是,可以初步判定系统在持续地进行换页操作,kswapd0 进程占用了系统大量 CPU 资源。
您可以通过 free 、ps 等指令进一步查询系统及系统内进程的内存占用情况,做进一步排查分析。
针对系统当前内存不足的问题,您可以重启 Apache,释放内存。
说明:从长远的角度来看,您需要对内存进行升级。
带宽跑满或跑高的分析处理
对于正常进程导致的带宽跑满或跑高的问题,需要对服务器的带宽进行升级。对于异常进程,有可能是由于恶意程序问题,或者是部分 IP 恶意访问导致,也可能是服务遭到了 CC 攻击。
通常情况下,您可以使用 iftop 工具或 nethogs 查看流量的占用情况,进而定位到具体的进程。
使用 iftop 工具排查
在服务器内部安装 iftop 流量监控工具。
yum install iftop -y
服务器外网带宽被占满时,如果通过远程无法登陆,可通过阿里云终端管理进入到服务器内部,运行下面命令查看流量占用情况:
iftop -i eth1 -P
注意:-P 参数将会显示请求端口。执行 iftop -i eth0 -P 命令,可以查看通过服务器哪个端口建立的连接,以及内网流量。举例如下:
在上图中,您可以查看到流量高耗的是服务器上 53139 端口和 115.205.150.235 地址建立的连接。
执行 netstat 命令反查 53139 端口对应的进程。
netstat -tunlp |grep 53139
经反查,服务器上 vsftpd 服务产生大量流量,您可以通过停止服务或使用 iptables 服务来对指定地址进行处理,如屏蔽 IP 地址或限速,以保证服务器带宽能够正常使用。
使用 nethogs 进行排查
在服务器内部安装 nethogs 流量监控工具。
yum install nethogs -y
通过 nethogs 工具来查看网卡上进程级的流量信息,若未安装可以通过 yum、apt-get 等方式安装。举例如下:
若 eth1 网卡跑满,执行命令 nethogs eth1。
查看每个进程的网络带宽情况以及进程对应的 PID。
确定导致带宽跑满或跑高的具体进程。
若进程确定是恶意程序,可以通过执行 kill -TERM
说明: 如果是 Web 服务程序,您可以使用 iftop 等工具来查询具体 IP 来源,然后分析 Web 访问日志是否为正常流量。日志分析可以使用 logwatch 或 awstats 等工具进行。
使用 Web 应用防火墙防御 CC 攻击
若您的服务遭受了 CC 攻击,请在 Web 应用防火墙控制台尽快开启 CC 安全防护。
登录 Web应用防火墙 控制台。
在 CC 安全防护中,启动状态按钮,并在模式中选择 正常。
The above is the detailed content of How to set Linux instance bandwidth and troubleshoot if the CPU is full or high. For more information, please follow other related articles on the PHP Chinese website!

linux设备节点是应用程序和设备驱动程序沟通的一个桥梁;设备节点被创建在“/dev”,是连接内核与用户层的枢纽,相当于硬盘的inode一样的东西,记录了硬件设备的位置和信息。设备节点使用户可以与内核进行硬件的沟通,读写设备以及其他的操作。

区别:1、open是UNIX系统调用函数,而fopen是ANSIC标准中的C语言库函数;2、open的移植性没fopen好;3、fopen只能操纵普通正规文件,而open可以操作普通文件、网络套接字等;4、open无缓冲,fopen有缓冲。

端口映射又称端口转发,是指将外部主机的IP地址的端口映射到Intranet中的一台计算机,当用户访问外网IP的这个端口时,服务器自动将请求映射到对应局域网内部的机器上;可以通过使用动态或固定的公共网络IP路由ADSL宽带路由器来实现。

在linux中,交叉编译是指在一个平台上生成另一个平台上的可执行代码,即编译源代码的平台和执行源代码编译后程序的平台是两个不同的平台。使用交叉编译的原因:1、目标系统没有能力在其上进行本地编译;2、有能力进行源代码编译的平台与目标平台不同。

在linux中,eof是自定义终止符,是“END Of File”的缩写;因为是自定义的终止符,所以eof就不是固定的,可以随意的设置别名,linux中按“ctrl+d”就代表eof,eof一般会配合cat命令用于多行文本输出,指文件末尾。

在linux中,可以利用“rpm -qa pcre”命令判断pcre是否安装;rpm命令专门用于管理各项套件,使用该命令后,若结果中出现pcre的版本信息,则表示pcre已经安装,若没有出现版本信息,则表示没有安装pcre。

linux查询mac地址的方法:1、打开系统,在桌面中点击鼠标右键,选择“打开终端”;2、在终端中,执行“ifconfig”命令,查看输出结果,在输出信息第四行中紧跟“ether”单词后的字符串就是mac地址。

在linux中,rpc是远程过程调用的意思,是Reomote Procedure Call的缩写,特指一种隐藏了过程调用时实际通信细节的IPC方法;linux中通过RPC可以充分利用非共享内存的多处理器环境,提高系统资源的利用率。


Hot AI Tools

Undresser.AI Undress
AI-powered app for creating realistic nude photos

AI Clothes Remover
Online AI tool for removing clothes from photos.

Undress AI Tool
Undress images for free

Clothoff.io
AI clothes remover

AI Hentai Generator
Generate AI Hentai for free.

Hot Article

Hot Tools

DVWA
Damn Vulnerable Web App (DVWA) is a PHP/MySQL web application that is very vulnerable. Its main goals are to be an aid for security professionals to test their skills and tools in a legal environment, to help web developers better understand the process of securing web applications, and to help teachers/students teach/learn in a classroom environment Web application security. The goal of DVWA is to practice some of the most common web vulnerabilities through a simple and straightforward interface, with varying degrees of difficulty. Please note that this software

SublimeText3 Mac version
God-level code editing software (SublimeText3)

PhpStorm Mac version
The latest (2018.2.1) professional PHP integrated development tool

Safe Exam Browser
Safe Exam Browser is a secure browser environment for taking online exams securely. This software turns any computer into a secure workstation. It controls access to any utility and prevents students from using unauthorized resources.

Zend Studio 13.0.1
Powerful PHP integrated development environment
