偷偷摘套内射激情视频,久久精品99国产国产精,中文字幕无线乱码人妻,中文在线中文a,性爽19p

Python 實(shí)時(shí)獲取Linux服務(wù)器信息

開(kāi)發(fā) 測(cè)試 Linux
性能測(cè)試中需要關(guān)注Linux服務(wù)器哪些數(shù)據(jù)?在進(jìn)行 Linux 服務(wù)器的性能測(cè)試時(shí),需要關(guān)注多個(gè)關(guān)鍵指標(biāo)以確保系統(tǒng)能夠高效、穩(wěn)定地運(yùn)行。

性能測(cè)試中需要關(guān)注Linux服務(wù)器哪些數(shù)據(jù)?

在進(jìn)行 Linux 服務(wù)器的性能測(cè)試時(shí),需要關(guān)注多個(gè)關(guān)鍵指標(biāo)以確保系統(tǒng)能夠高效、穩(wěn)定地運(yùn)行。以下是一些常見(jiàn)的性能測(cè)試指標(biāo)及其重要性:

1. CPU 使用率

用戶(hù)時(shí)間 (User Time): 應(yīng)用程序?qū)嶋H使用 CPU 的時(shí)間。

系統(tǒng)時(shí)間 (System Time): 內(nèi)核和系統(tǒng)調(diào)用使用 CPU 的時(shí)間。

空閑時(shí)間 (Idle Time): CPU 空閑的時(shí)間。

等待 I/O 時(shí)間 (I/O Wait Time): CPU 等待 I/O 操作完成的時(shí)間。

2. 內(nèi)存使用情況

總內(nèi)存 (Total Memory): 系統(tǒng)總的物理內(nèi)存。

已用內(nèi)存 (Used Memory): 當(dāng)前正在使用的內(nèi)存。

可用內(nèi)存 (Available Memory): 可供新進(jìn)程使用的內(nèi)存。

緩存 (Cache): 用于文件系統(tǒng)的緩存。

緩沖區(qū) (Buffers): 用于塊設(shè)備 I/O 的緩沖區(qū)。

交換空間 (Swap Space): 用于虛擬內(nèi)存的磁盤(pán)空間。

交換使用 (Swap Usage): 當(dāng)前正在使用的交換空間。

3. 磁盤(pán) I/O

讀取速率 (Read Rate): 每秒從磁盤(pán)讀取的數(shù)據(jù)量。

寫(xiě)入速率 (Write Rate): 每秒寫(xiě)入磁盤(pán)的數(shù)據(jù)量。

IOPS (Input/Output Operations Per Second): 每秒的 I/O 操作次數(shù)。

等待隊(duì)列長(zhǎng)度 (Average Queue Length): 平均等待 I/O 操作的請(qǐng)求數(shù)。

4. 網(wǎng)絡(luò)帶寬

發(fā)送速率 (Send Rate): 每秒發(fā)送的數(shù)據(jù)量。

接收速率 (Receive Rate): 每秒接收的數(shù)據(jù)量。

網(wǎng)絡(luò)錯(cuò)誤 (Network Errors): 網(wǎng)絡(luò)傳輸中的錯(cuò)誤數(shù)。

丟包率 (Packet Loss): 數(shù)據(jù)包丟失的比例。

5. 進(jìn)程信息

進(jìn)程數(shù) (Number of Processes): 系統(tǒng)中運(yùn)行的進(jìn)程數(shù)量。

僵尸進(jìn)程 (Zombie Processes): 已經(jīng)終止但其父進(jìn)程尚未回收其資源的進(jìn)程。

負(fù)載平均值 (Load Average): 過(guò)去 1 分鐘、5 分鐘和 15 分鐘內(nèi)的系統(tǒng)負(fù)載平均值。

6. 文件系統(tǒng)

掛載點(diǎn) (Mount Points): 文件系統(tǒng)的掛載點(diǎn)。

使用率 (Usage): 每個(gè)掛載點(diǎn)的使用百分比。

剩余空間 (Free Space): 每個(gè)掛載點(diǎn)的剩余空間。

7. 系統(tǒng)日志

系統(tǒng)日志 (System Logs): 如 /var/log 目錄下的日志文件,記錄系統(tǒng)事件和錯(cuò)誤信息。

8. 系統(tǒng)啟動(dòng)時(shí)間和響應(yīng)時(shí)間

啟動(dòng)時(shí)間 (Boot Time): 系統(tǒng)啟動(dòng)所需的時(shí)間。

響應(yīng)時(shí)間 (Response Time): 系統(tǒng)對(duì)請(qǐng)求的響應(yīng)時(shí)間。

9. 上下文切換 (Context Switches)

上下文切換次數(shù) (Context Switches): 每秒發(fā)生的上下文切換次數(shù)。

10. 中斷 (Interrupts)

中斷次數(shù) (Interrupts): 每秒處理的硬件中斷次數(shù)。

性能測(cè)試工具

為了收集這些數(shù)據(jù),可以使用多種工具,包括但不限于:

top, htop: 實(shí)時(shí)查看系統(tǒng)資源使用情況。

vmstat, iostat, mpstat: 統(tǒng)計(jì)系統(tǒng)性能數(shù)據(jù)。

dstat: 多合一系統(tǒng)資源統(tǒng)計(jì)工具。

sar (System Activity Reporter): 收集、報(bào)告和保存系統(tǒng)活動(dòng)信息。

nmon (Nigel's Monitor): 實(shí)時(shí)監(jiān)控系統(tǒng)性能。

netstat, ss, iptraf, iftop: 網(wǎng)絡(luò)流量監(jiān)控。

tcpdump, Wireshark: 網(wǎng)絡(luò)抓包分析。

iotop, iostat: 磁盤(pán) I/O 監(jiān)控。

sysdig, strace, ltrace: 系統(tǒng)調(diào)用跟蹤。

示例命令

以下是一些常用的命令示例,可以幫助你獲取上述指標(biāo):

# 查看 CPU 使用情況

top -b -n 1 | grep "Cpu(s)"

# 查看內(nèi)存使用情況

free -h

# 查看磁盤(pán) I/O

iostat -x 1 1

# 查看網(wǎng)絡(luò)帶寬

ifstat 1 1

# 查看進(jìn)程信息

ps aux --sort=-%cpu

# 查看文件系統(tǒng)使用情況

df -h

# 查看系統(tǒng)日志

tail -f /var/log/syslog

# 查看上下文切換和中斷

vmstat 1 1

以下代碼作為輔助,大家如果有興趣寫(xiě)平臺(tái)的話(huà),可以用到

python 每1秒獲取一次mac電腦的cup、內(nèi)存、磁盤(pán),并每分鐘記錄一次數(shù)據(jù)到指定excel文件中

import psutil
import time
from openpyxl import Workbook
from openpyxl.utils import get_column_letter
# 初始化 Excel 工作簿
wb = Workbook()
ws = wb.active
ws.title = "System Monitor"
ws.append(["Timestamp", "CPU (%)", "Memory (%)", "Disk (%)"])
# 記錄數(shù)據(jù)的時(shí)間間隔(秒)
record_interval = 60
data_points = []
def get_system_info():
    # 獲取 CPU 使用率
    cpu_percent = psutil.cpu_percent(interval=1)
    # 獲取內(nèi)存使用情況
    memory_info = psutil.virtual_memory()
    memory_percent = memory_info.percent
    # 獲取磁盤(pán)使用情況
    disk_info = psutil.disk_usage('/')
    disk_percent = disk_info.percent
    return cpu_percent, memory_percent, disk_percent
def record_data_to_excel(data_points):
    for data_point in data_points:
        ws.append(data_point)
    # 計(jì)算平均值
    if data_points:
        avg_cpu = sum(point[1] for point in data_points) / len(data_points)
        avg_memory = sum(point[2] for point in data_points) / len(data_points)
        avg_disk = sum(point[3] for point in data_points) / len(data_points)
        # 將平均值寫(xiě)入 Excel
        ws.append(["Average", avg_cpu, avg_memory, avg_disk])
    # 保存 Excel 文件
    wb.save("system_monitor.xlsx")
try:
    while True:
        # 獲取當(dāng)前時(shí)間戳
        timestamp = time.strftime("%Y-%m-%d %H:%M:%S")
        # 獲取系統(tǒng)信息
        cpu_percent, memory_percent, disk_percent = get_system_info()
        # 打印當(dāng)前系統(tǒng)信息
        print(f"Timestamp: {timestamp}, CPU: {cpu_percent}%, Memory: {memory_percent}%, Disk: {disk_percent}%")
        # 將數(shù)據(jù)點(diǎn)添加到列表中
        data_points.append([timestamp, cpu_percent, memory_percent, disk_percent])
        # 每分鐘記錄一次數(shù)據(jù)到 Excel 文件
        if len(data_points) >= record_interval:
            record_data_to_excel(data_points)
            data_points = []  # 清空數(shù)據(jù)點(diǎn)列表
        # 等待 1 秒
        time.sleep(1)
except KeyboardInterrupt:
    # 如果用戶(hù)中斷程序(例如按 Ctrl+C),保存剩余的數(shù)據(jù)點(diǎn)
    if data_points:
        record_data_to_excel(data_points)
    print("Monitoring stopped. Data saved to system_monitor.xlsx")

代碼說(shuō)明

初始化 Excel 工作簿:

創(chuàng)建一個(gè)新的 Excel 工作簿,并設(shè)置工作表名稱(chēng)為 "System Monitor"。

在第一行添加列標(biāo)題。

定義 get_system_info 函數(shù):

使用 psutil 庫(kù)獲取 CPU 使用率、內(nèi)存使用率和磁盤(pán)使用率。

定義 record_data_to_excel 函數(shù):

將數(shù)據(jù)點(diǎn)列表中的數(shù)據(jù)寫(xiě)入 Excel 文件。

計(jì)算 CPU、內(nèi)存和磁盤(pán)使用率的平均值,并將這些平均值寫(xiě)入 Excel 文件。

保存 Excel 文件。

主循環(huán):

每秒獲取一次系統(tǒng)信息并打印。

將獲取的數(shù)據(jù)添加到 data_points 列表中。

當(dāng) data_points 列表中的數(shù)據(jù)點(diǎn)數(shù)量達(dá)到 60 個(gè)時(shí)(即每分鐘),調(diào)用 record_data_to_excel 函數(shù)將數(shù)據(jù)寫(xiě)入 Excel 文件,并清空 data_points 列表。

使用 time.sleep(1) 使程序暫停 1 秒,以實(shí)現(xiàn)每秒獲取一次數(shù)據(jù)。

異常處理:

如果用戶(hù)通過(guò)按 Ctrl+C 中斷程序,保存剩余的數(shù)據(jù)點(diǎn)并退出程序。

運(yùn)行腳本

將上述代碼保存到一個(gè) Python 文件中(例如 system_monitor.py),然后在 Linux 終端中運(yùn)行它:

python3 system_monitor.py

這將開(kāi)始每秒獲取一次系統(tǒng)信息,并每分鐘將數(shù)據(jù)記錄到 system_monitor.xlsx 文件中。每分鐘結(jié)束時(shí),還會(huì)計(jì)算并記錄 CPU、內(nèi)存和磁盤(pán)使用率的平均值。如果需要停止監(jiān)控,可以按 Ctrl+C。

請(qǐng)確保你有適當(dāng)?shù)臋?quán)限來(lái)執(zhí)行腳本,并且安裝了所有必需的庫(kù)。如果遇到任何問(wèn)題,請(qǐng)告訴我!

以下為代碼運(yùn)行后生成的文件內(nèi)容

責(zé)任編輯:華軒 來(lái)源: 測(cè)試開(kāi)發(fā)學(xué)習(xí)交流
相關(guān)推薦

2020-10-24 15:31:10

Linux服務(wù)器工具

2017-02-05 16:48:38

LinuxGanglia

2017-05-31 15:44:58

Linux服務(wù)器運(yùn)行狀況

2014-03-10 09:57:55

實(shí)時(shí)監(jiān)測(cè)郵件監(jiān)控

2015-05-29 13:22:10

Linux掛載運(yùn)維

2010-07-26 16:15:07

Telnet服務(wù)器

2014-08-06 11:25:00

LinuxSVN服務(wù)器

2022-05-05 09:27:31

Linux服務(wù)器優(yōu)化

2022-08-20 07:39:35

Linux日志文件

2024-04-07 09:41:18

SignalR實(shí)時(shí)通信開(kāi)發(fā)

2024-02-01 12:54:00

RustWebSocket消息代理

2014-05-28 13:23:57

Zabbix 監(jiān)控Linux系統(tǒng)

2021-03-29 10:09:22

Windows服務(wù)器端口

2011-02-22 10:55:13

ProFTPd服務(wù)器配置

2013-12-19 10:37:17

2010-02-04 15:53:16

Linux PyLuc

2010-01-06 10:02:10

Linux服務(wù)器

2009-11-29 17:18:38

Linux服務(wù)器

2010-09-01 17:15:45

Linux DHCP

2010-01-12 11:52:40

點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)