管理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 

# 示例:限制进程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

原创文章,作者:BDWZ,如若转载,请注明出处:https://www.506064.com/n/138062.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
BDWZBDWZ
上一篇 2024-10-04 00:18
下一篇 2024-10-04 00:18

相关推荐

  • 使用vscode建立UML图的实践和技巧

    本文将重点介绍在使用vscode在软件开发中如何建立UML图,并且给出操作交互和技巧的指导。 一、概述 在软件开发中,UML图是必不可少的重要工具之一。它为软件架构和各种设计模式的…

    编程 2025-04-29
  • 优秀周记1000字的撰写思路与技巧

    优秀周记是每个编程开发工程师记录自己工作生活的最佳方式之一。本篇文章将从周记的重要性、撰写思路、撰写技巧以及周记的示例代码等角度进行阐述。 一、周记的重要性 作为一名编程开发工程师…

    编程 2025-04-28
  • 堆叠图配色技巧分享

    堆叠图是数据可视化中常用的一种表现形式,而配色则是影响堆叠图观感和传达信息的重要因素之一。本文将分享一些堆叠图配色的技巧,帮助你创造更好的数据可视化。 一、色彩搭配原则 色彩是我们…

    编程 2025-04-27
  • 使用uring_cmd提高开发效率的技巧

    对于编程开发工程师来说,提高效率一直是致力追求的目标。本文将深度解析如何使用uring_cmd,提升工作效率。 一、常用命令 uring_cmd是一个非常强大的命令行工具,但是大部…

    编程 2025-04-27
  • 通信专业Python和Java的开发技巧

    本文旨在介绍通信专业Python和Java的开发技巧,为读者提供实用且可操作的思路和方法。 一、Python在通信领域中的应用 Python是一种优秀的程序设计语言,因其易学易用、…

    编程 2025-04-27
  • 如何在Linux中添加用户并修改配置文件

    本文将从多个方面详细介绍在Linux系统下如何添加新用户并修改配置文件 一、添加新用户 在Linux系统下创建新用户非常简单,只需使用adduser命令即可。使用以下命令添加新用户…

    编程 2025-04-27
  • 前端引用字体的实现方法和技巧

    对于前端开发人员而言,字体關系着网站的整体美观度和用户体验。为了满足客户,开发人员经常需要引用特定的字体。在这篇文章中,我们将会详细解决前端引用字体的实现方法和技巧。 一、字体引用…

    编程 2025-04-27
  • 如何解决linux jar包 invalid or corrupt jarfile问题

    对于许多开发人员和系统管理员在Linux环境下使用Java开发过程中遇到的一个常见的问题是 invalid or corrupt jarfile(无效或损坏的jar文件)错误。当您…

    编程 2025-04-27
  • 在Linux上安装JRE并配置环境变量

    本文将从以下几个方面为您详细阐述如何在Linux系统上,通过自己账户安装JRE,并且配置环境变量。 一、安装JRE 在进行安装前,我们需要下载JRE的安装包并解压,可以从官方网站下…

    编程 2025-04-27
  • if not in case – Python中使用if语句进行逻辑判断的技巧

    if语句是Python中进行逻辑判断的基础语句之一。在if语句中,我们可以使用not关键字和in关键字来进行更加灵活的判断。本文将详细介绍Python中使用if not in ca…

    编程 2025-04-27

发表回复

登录后才能评论