管理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/zh-hant/n/138062.html

(0)
打賞 微信掃一掃 微信掃一掃 支付寶掃一掃 支付寶掃一掃
BDWZ的頭像BDWZ
上一篇 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
  • 前端引用字體的實現方法和技巧

    對於前端開發人員而言,字體關系著網站的整體美觀度和用戶體驗。為了滿足客戶,開發人員經常需要引用特定的字體。在這篇文章中,我們將會詳細解決前端引用字體的實現方法和技巧。 一、字體引用…

    編程 2025-04-27
  • 如何在Linux中添加用戶並修改配置文件

    本文將從多個方面詳細介紹在Linux系統下如何添加新用戶並修改配置文件 一、添加新用戶 在Linux系統下創建新用戶非常簡單,只需使用adduser命令即可。使用以下命令添加新用戶…

    編程 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

發表回復

登錄後才能評論