一、查看代碼運行占用的內存
1、使用 top
命令
??? top
命令是一個實時的系統監控工具,可以顯示當前系統中所有進程的資源使用情況。運行以下命令:
top
在 top
界面中,可以看到每個進程的內存使用情況(%MEM
列)。
如何確定哪個進程是你運行的
???? 要確定哪個進程是你運行的腳本,可以使用以下方法:
使用 ps
命令
???? 運行 ps
命令并結合 grep
來過濾出 Python 進程:
ps aux | grep python
???? 這將列出所有包含 python
的進程。你可以通過以下列來識別你的腳本:
USER:運行進程的用戶。
COMMAND:運行的命令及其參數。
虛擬內存和物理內存的解釋
虛擬內存 (VIRT)
虛擬內存(Virtual Memory)是指進程可以訪問的內存總量,包括:
物理內存:實際分配給進程的物理內存。
交換空間:在磁盤上分配的虛擬內存,用于擴展物理內存。
共享內存:多個進程共享的內存區域。
映射文件:通過內存映射文件(如共享庫)分配的內存。
虛擬內存的大小通常比實際使用的物理內存大,因為它包括了所有可能的內存分配,而不僅僅是當前使用的部分。
物理內存 (RES)
物理內存(Resident Set Size, RSS)是指進程實際占用的物理內存量。這是進程當前使用的物理內存量,不包括交換空間或未使用的虛擬內存。
二、創建/激活/退出/刪除虛擬環境
創建虛擬環境
使用 venv
模塊
??? venv
是 Python 3.3+ 自帶的虛擬環境工具。運行以下命令來創建一個虛擬環境:
python3 -m venv myenv
????? 這將在當前目錄下創建一個名為 myenv
的文件夾,其中包含虛擬環境的所有文件。
使用 conda
創建虛擬環境
???? 如果使用的是 Anaconda 或 Miniconda,可以使用 conda
創建虛擬環境:
conda create -n myenv python=3.8
???? 這將創建一個名為 myenv
的虛擬環境,并安裝 Python 3.8。
激活虛擬環境
激活 venv
虛擬環境
在 Linux 或 macOS 上:
source myenv/bin/activate
在 Windows 上:
myenv\Scripts\activate
激活 conda
虛擬環境
conda activate myenv
退出虛擬環境
退出 venv
虛擬環境
在 Linux、macOS 或 Windows 上:
deactivate
退出 conda
虛擬環境
conda deactivate
刪除虛擬環境
刪除 venv
虛擬環境
刪除虛擬環境的文件夾即可:
rm -rf myenv
刪除 conda
虛擬環境
conda env remove -n myenv
三、查內存
? ? 1、查看 系統內存(RAM)和交換空間(swap)使用情況,并用 人類可讀的單位(如 MB、GB)顯示。
free -h
free ? ? ? # 查看內存使用情況
-h ? ? ? ? # human readable,以 KB、MB、GB 為單位顯示?示例輸出解釋:
$ free -h total used free shared buff/cache available Mem: 15Gi 7.2Gi 2.1Gi 1.1Gi 5.7Gi 6.9Gi Swap: 2.0Gi 0.0Gi 2.0Gi
字段說明:
字段 說明 total 總物理內存(或 Swap 空間) used 已使用內存(不包括緩存和緩沖區) free 未被使用的內存 shared 多個進程共享的內存 buff/cache 被用作緩存或緩沖區的內存(Linux 會利用空閑內存做緩存以加快訪問) available 實際可用內存(考慮緩存可以釋放的部分)
?2、列出當前目錄內容,按文件大小從小到大排列,顯示詳細信息
ls -lSr
?3、查看 磁盤空間使用情況,并以人類可讀的格式(如 GB、MB)顯示各個分區的總容量、已用空間、可用空間及掛載點。
df -h
?4、以長格式(long format)列出當前目錄或指定目錄下的文件和子目錄的詳細信息。
ls -l
?命令含義
ls
:列出目錄中的文件和文件夾名。
-l
:long listing format,顯示詳細信息。
輸出字段說明
執行
ls -l
后,通常會看到類似這樣的輸出:
-rw-r--r-- 1 user group 4096 Jun 22 10:00 example.txt drwxr-xr-x 2 user group 4096 Jun 22 09:50 myfolder
列序 字段 說明 1 文件類型和權限 例如 -rw-r--r--
,第1位是類型(-
普通文件,d
目錄等),后面9位是權限2 硬鏈接數 指向該文件的硬鏈接數量 3 文件所有者 擁有該文件的用戶名 4 文件所屬用戶組 文件所屬的用戶組名 5 文件大小(字節) 文件大小,單位是字節 6-8 最后修改時間 月 日 時分(有時是年月日,視文件時間遠近) 9 文件名 文件或目錄的名字 例子
drwxr-xr-x 2 huang huang 4096 Jun 22 12:30 Documents -rw-r--r-- 1 huang huang 12345 Jun 21 18:00 notes.txt
第一行是目錄
Documents
,權限是所有者讀寫執行,組和其他人只讀執行。第二行是普通文件
notes.txt
,大小12345字節。
其他:
-
ls -lh
:以人類可讀格式顯示文件大小(例如 KB、MB)。 -
ls -la
:顯示包括隱藏文件(以.
開頭)的所有文件。