在Linux系統中,使用Python 3進行性能監控可以通過多種方法和庫來實現。以下是一些常用的方法和工具:
psutil
庫psutil
是一個跨平臺的庫,可以用來獲取系統信息和監控進程。
首先,安裝 psutil
:
pip3 install psutil
然后,使用 psutil
監控CPU和內存使用情況:
import psutil
def monitor_cpu():
cpu_percent = psutil.cpu_percent(interval=1)
print(f"CPU Usage: {cpu_percent}%")
def monitor_memory():
memory_info = psutil.virtual_memory()
print(f"Total Memory: {memory_info.total / (1024 * 1024)} MB")
print(f"Available Memory: {memory_info.available / (1024 * 1024)} MB")
if __name__ == "__main__":
while True:
monitor_cpu()
monitor_memory()
time.sleep(5)
time
模塊time
模塊可以用來測量代碼的執行時間。
import time
def measure_time(func):
start_time = time.time()
func()
end_time = time.time()
print(f"Execution Time: {end_time - start_time} seconds")
@measure_time
def my_function():
# Your code here
pass
if __name__ == "__main__":
my_function()
matplotlib
庫matplotlib
可以用來繪制圖表,監控系統的性能指標。
首先,安裝 matplotlib
:
pip3 install matplotlib
然后,使用 matplotlib
繪制CPU和內存使用情況的圖表:
import psutil
import matplotlib.pyplot as plt
def plot_cpu_usage():
cpu_percent = []
while True:
cpu_percent.append(psutil.cpu_percent(interval=1))
plt.plot(cpu_percent)
plt.xlabel('Time')
plt.ylabel('CPU Usage (%)')
plt.title('CPU Usage Over Time')
plt.show()
time.sleep(5)
if __name__ == "__main__":
plot_cpu_usage()
top
和 htop
命令你可以使用系統自帶的 top
或 htop
命令來監控系統的實時性能。
在Python中,你可以使用 subprocess
模塊來運行這些命令并獲取輸出:
import subprocess
def monitor_top():
process = subprocess.Popen(['top', '-bn1'], stdout=subprocess.PIPE)
output, _ = process.communicate()
print(output.decode('utf-8'))
if __name__ == "__main__":
while True:
monitor_top()
time.sleep(5)
dstat
工具dstat
是一個多功能的系統資源監控工具,可以實時顯示系統的CPU、內存、磁盤和網絡使用情況。
首先,安裝 dstat
:
sudo apt-get install dstat
然后,使用Python運行 dstat
并獲取輸出:
import subprocess
def monitor_dstat():
process = subprocess.Popen(['dstat', '-ta'], stdout=subprocess.PIPE)
output, _ = process.communicate()
print(output.decode('utf-8'))
if __name__ == "__main__":
while True:
monitor_dstat()
time.sleep(5)
通過這些方法和工具,你可以在Linux系統中使用Python 3進行性能監控。選擇適合你需求的方法,并根據實際情況進行調整和優化。