您的位置:

管理Linux系统资源的高阶技巧

管理Linux系统资源的高阶技巧

更新:

一、CPU资源管理

1. 查看CPU使用情况

top

# 输出结果示例
%Cpu(s):  0.0 us,  0.0 sy,  0.0 ni,100.0 id,  0.0 wa,  0.0 hi,  0.0 si,  0.0 st

2. 实时监测CPU的使用情况

sar -u 1

# 输出结果示例
Linux 5.4.0-54-generic (hostname)  01/01/2021   _x86_64_    (2 CPU)

02:55:06 PM     CPU     %user     %nice   %system   %iowait    %steal     %idle
02:55:07 PM     all      3.02      0.00      1.25      0.00      0.00     95.73

3. 限制进程的CPU使用率

cpulimit -l 50 -p <进程ID>

# 示例:限制进程1328的CPU使用率为50%
cpulimit -l 50 -p 1328

二、内存资源管理

1. 查看内存使用情况

free -h

# 输出结果示例
              total        used        free      shared  buff/cache   available
Mem:            15G        5.0G        8.6G        188M        1.5G         9.8G
Swap:          2.0G        4.4M        2.0G

2. 查看每个进程的内存占用情况

ps -aux --sort=-%mem | head

# 输出结果示例
USER         PID  %CPU %MEM     VSZ    RSS TTY      STAT START   TIME COMMAND
root        3462   0.0 14.9 1809948 247344 ?      Sl   Jan07   0:08 /usr/bin/dockerd ...
user         754   1.0 10.3 1420724 170128 ?      Sl   Jan07  15:18 code ...

3. 根据内存使用情况杀死进程

ps -aux --sort=-%mem | awk '{if($4>10.0) print $0 }' | awk '{print $2}' | xargs kill -9

# 解释
# ps -aux --sort=-%mem:查看当前进程按照内存占用率排序后的情况
# awk '{if($4>10.0) print $0 }':筛选出内存占用率超过10%的进程
# awk '{print $2}':选取进程ID
# xargs kill -9:结束进程

三、磁盘资源管理

1. 查看磁盘占用情况

df -h

# 输出结果示例
Filesystem      Size  Used Avail Use% Mounted on
udev            7.8G     0  7.8G   0% /dev
tmpfs           1.6G  1.6M  1.6G   1% /run
/dev/nvme0n1p2  917G  580G  290G  67% /
tmpfs           7.9G   76M  7.8G   1% /dev/shm
tmpfs           5.0M  4.0K  5.0M   1% /run/lock
tmpfs           7.9G     0  7.9G   0% /sys/fs/cgroup
/dev/nvme0n1p1  511M  7.7M  503M   2% /boot/efi

2. 查看目录下占用空间最大的文件

du -hsx * | sort -rh | head

# 输出结果示例
2.0G    data.tar.gz
1.2G    video.mp4
615M    image.png

3. 清理日志文件

find /var/log -type f -name "*.log" | xargs rm -f

# 解释
# find /var/log -type f -name "*.log":搜索/var/log目录下所有的.log文件
# xargs rm -f:删除搜索结果

四、网络资源管理

1. 查看当前网络连接状况

netstat -an | grep ESTABLISHED | wc -l

# 输出结果示例
67

2. 查看网络连接占用情况

ss -s

# 输出结果示例
Total: 60 (kernel 62)
TCP:   55 (estab 10, closed 43, orphaned 0, synrecv 0, timewait 40/0), ports 0

# 解释:TCP:55代表当前TCP连接数为55个,其中有10个为已建立连接

3. 限制应用程序的网络带宽

tc qdisc add dev eth0 root tbf rate 1mbit burst 32kbit latency 400ms

# 解释:
# eth0代表要限制网络带宽的网络接口
# 1mbit代表限制的带宽为1Mbit/s
# burst 32kbit代表网络接口允许快速传输32Kb的数据
# latency 400ms代表网络包发送的延迟不超过400ms
管理Linux系统资源的高阶技巧

一、CPU资源管理 1. 查看CPU使用情况 top # 输出结果示例 %Cpu(s): 0.0 us, 0.0 sy, 0.0 ni,100.0 id, 0.0 wa, 0.0 hi, 0.0 si

2023-12-08
管理Linux系统资源的高阶技巧

一、CPU资源管理 1. 查看CPU使用情况 top # 输出结果示例 %Cpu(s): 0.0 us, 0.0 sy, 0.0 ni,100.0 id, 0.0 wa, 0.0 hi, 0.0 si

2023-12-08
Linux系统管理技巧和最佳实践

2023-05-13
管理Linux系统资源的有效方法

2023-05-12
提高Linux系统性能的10个技巧

2023-05-13
Linux系统编程详解

2023-05-21
python学习资源整理(python 资源)

2022-11-10
Linux系统管理:高效运维者的必备技能

一、系统安装 系统安装是Linux运维的第一步,正确的安装可以使系统更加稳定,提高运维效率。下面是一个CentOS系统安装示例: #下载CentOS镜像文件 wget -c http://mirror

2023-12-08
印象笔记记录java学习(Java成长笔记)

2022-11-12
管理Linux系统的常用Shell工具

2023-05-13
了解Linux系统架构的重要性

2023-05-13
提高Linux系统性能的实用技巧

2023-05-13
java学习的一些基础笔记(java初学笔记)

2022-11-14
快速、高效的Linux发行版 - ClearLinux

2023-05-13
数据库的笔记mysql,数据库管理系统笔记

2022-11-24
Linux操作系统:开源且高效的服务器运行环境

2023-05-13
Linux服务器管理指南:让你的系统更加高效稳定

2023-05-13
每日java学习笔记(java高手笔记)

2022-11-15
phpcrm开源系统,phpcrm管理系统

2022-11-23
onenote linux——你的轻量级笔记应用

2023-05-21