IT工具 | node.js 進程管理工具 PM2 大升級!支持 Bun.js

P(rocess)M(anager)2 是一個 node.js 下的進程管理器,內置負載均衡,支持應用自動重啟,常用于生產環境運行 node.js 應用,非常好用👍

🌼概述

2025-03-15日,PM2發布最新版本v6.0.5,這是一個大版本升級(上一版本v5.4.2發布于24年7月),本次更新帶來了 Bun.js 的支持🎉。

  • 支持 Bun.js 運行時
  • 默認禁用 git 解析
  • PM2 serve 響應增加 WEBP 內容類型

??版本升級

此處以 windows 平臺為例進行說明

# 查看當前版本
pm2 -v
# 5.3.0# 直接通過以下命令覆蓋安裝
npm i -g pm2
# added 13 packages, removed 63 packages, and changed 121 packages in 1m
# 13 packages are looking for funding
#   run `npm fund` for details

升級后,我們執行 pm2 ls(顯示pm2管理的進程)命令,會得到以下提示:

>>>> In-memory PM2 is out-of-date, do:
>>>> $ pm2 update
In memory PM2 version: 5.3.0
Local PM2 version: 6.0.5

我們執行pm2 update即可。

$ pm2 update-------------██████╗ ███╗   ███╗██████╗     ██╗    ██╗ ██████╗██╔══██╗████╗ ████║╚════██╗    ██║   ██╔╝██╔═══██╗██████╔╝██╔████╔██║ █████╔╝    ██║  ██╔╝ ██║   ██║██╔═══╝ ██║╚██╔╝██║██╔═══╝     ██║ ██╔╝  ██║   ██║██║     ██║ ╚═╝ ██║███████╗    ██║██╔╝   ╚██████╔╝╚═╝     ╚═╝     ╚═╝╚══════╝    ╚═╝╚═╝     ╚═════╝https://pm2.io/Harden your Node.js Production Environment- Real-time Monitoring Web Interface- Pro Active Alerting System- Production Profiling for Memory and CPU- PM2 Runtime High Availability FallbackStart using it by typing:$ pm2 plus-------------[PM2][WARN] No process found
[PM2] [v] All Applications Stopped
[PM2] [v] PM2 Daemon Stopped
[PM2] Spawning PM2 daemon with pm2_home=C:\Users\admin\.pm2
[PM2] Restoring processes located in C:\Users\admin\.pm2\dump.pm2
>>>>>>>>>> PM2 updated

🛠?小試牛刀

安裝 Bun.js

如果您已經安裝,請跳過😄

# windows 下安裝 bun.js
powershell -c "irm bun.sh/install.ps1|iex"# 升級
bun upgrade# 卸載
powershell -c ~\.bun\uninstall.ps1

示例代碼

我們讓 deepseek 寫一段簡單的 WEB 服務

import http from 'http';
import url from 'url';// 記錄程序啟動時間
const startTime = Date.now();// 創建 HTTP 服務器
const server = http.createServer((req, res) => {const parsedUrl = url.parse(req.url, true);// 處理 /status 路由if (parsedUrl.pathname === '/status') {// 計算程序已經運行的時間(秒)const uptime = Math.floor((Date.now() - startTime) / 1000);// 返回 JSON 響應res.writeHead(200, { 'Content-Type': 'application/json' });res.end(JSON.stringify({ uptime }));} else {// 處理其他路由res.writeHead(404, { 'Content-Type': 'text/plain' });res.end('Not Found');}
});// 監聽端口
const PORT = 3000;
server.listen(PORT, () => {console.log(`Server is running on http://localhost:${PORT}`);
});

運行進程

# 使用 node.js 運行
pm2 start web-node.mjs --interpreter node
# 使用 bun.js 運行
pm2 start web-bun.mjs --interpreter bun


運行4h后的狀態:

運行7h后的狀態:

Bun.js 跑的應用占用的內存越來越低?😂

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/diannao/74218.shtml
繁體地址,請注明出處:http://hk.pswp.cn/diannao/74218.shtml
英文地址,請注明出處:http://en.pswp.cn/diannao/74218.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

2025年01月02日浙江鼎永前端面試

目錄 webpack 和 vite 區別react fiber 架構vue diff 算法react diff 算法hooks 源碼垂直水平布局項目介紹單點登錄大文件上傳微前端 1. webpack 和 vite 區別 Webpack 和 Vite 是兩種不同的前端構建工具,它們在設計理念、性能表現和使用場景上存在顯著差異。以下…

1.企業級AD活動目錄核心解析:架構、組件與集成實踐

在當今數字化時代,企業級網絡環境日益復雜,高效、安全的資源管理和用戶認證成為企業 IT 運營的關鍵。AD(Active Directory)活動目錄作為微軟 Windows 系列服務器中的重要目錄服務,為企業級網絡管理提供了強大的解決方案…

【數據分享】2014-2024年我國各城市逐年空氣質量指數(AQI)數據

空氣質量指數(AQI)是一個衡量空氣污染程度的綜合指標,它并不直接表示具體污染物的濃度值,而是基于多種污染物的濃度進行的綜合評價,具體基于六種主要污染物的濃度:PM2.5、PM10、SO?、NO?、O?和CO。AQI是…

【C++】深入理解list迭代器的設計與實現

深入理解list迭代器的設計與實現 引言1、鏈表基礎結構2、鏈表迭代器的封裝2.1 初步封裝迭代器類2.2 引入const迭代器2.2.1 參考STL源代碼2.2.2 完善迭代器 3、迭代器實現機制結語 引言 在STL容器中,list作為經典的雙向鏈表容器,其迭代器設計體現了C模板編…

C語言基礎系列【27】typedef

博主介紹:程序喵大人 35- 資深C/C/Rust/Android/iOS客戶端開發10年大廠工作經驗嵌入式/人工智能/自動駕駛/音視頻/游戲開發入門級選手《C20高級編程》《C23高級編程》等多本書籍著譯者更多原創精品文章,首發gzh,見文末👇&#x1f…

【CXX-Qt】2.5 繼承

某些 Qt API 要求你從抽象基類中重寫某些方法,例如 QAbstractItemModel。 為了支持直接從 Rust 中創建這樣的子類,CXX-Qt 提供了多種輔助工具。 某些基類可能需要特殊的構造參數。這可以通過使用自定義構造函數來實現。 訪問基類方法 要在 Rust 中訪…

磁盤清理工具-TreeSize Free介紹

TreeSizeFree是一個磁盤空間管理工具,主要用于分析磁盤使用情況,幫助用戶找到占用空間大的文件和文件夾: 特點:按大小排序:快速找到占用空間最大的文件或文件夾 一般可以刪除: 掃描 C:\Users\XXX\AppData\Local\Temp 或 C:\Window…

OpenCV中距離公式

一、各類距離公式總結 常見距離公式 歐氏距離: 曼哈頓距離(L1)?: 切比雪夫距離(Chessboard)?: 1、點與點距離(歐氏距離) ?二維空間? 設兩點坐標為 P1(x1,y1)、P2(x2,y2),其距離…

Vue.js 模板語法全解析:從基礎到實戰應用

引言 在 Vue.js 的開發體系中,模板語法是構建用戶界面的核心要素,它讓開發者能夠高效地將數據與 DOM 進行綁定,實現動態交互效果。通過對《Vue.js 快速入門實戰》中關于 Vue 項目部署章節(實際圍繞 Vue 模板語法展開)…

論文筆記(七十三)Gemini Robotics: Bringing AI into the Physical World

Gemini Robotics: Bringing AI into the Physical World 文章概括1. 引言2. Gemini 2.0的具身推理2.1. 具身推理問答(ERQA)基準測試2.2. Gemini 2.0的具身推理能力2.3. Gemini 2.0支持零樣本和少樣本機器人控制 3. 使用 Gemini Robotics 執行機器人動作3…

centos7搭建postgresql12主從

主從搭建 192.168.159.101 node1 主庫(讀寫) 192.168.159.102 node2 備庫(只讀) 兩臺機器首先安裝postgrsql 主庫 postgres用戶操作: 修改postgresql.conf # 在文件中修改(此配置僅用于遠程訪問, 流復制后續還有額外…

嵌入式基礎知識學習:SPI通信協議是什么?

SPI(Serial Peripheral Interface)是串行外設接口的縮寫,是一種廣泛應用于嵌入式系統的高速同步串行通信協議,由摩托羅拉公司于20世紀80年代提出。以下是其核心要點: 一、SPI的核心定義與特點 基本特性 全雙工同步通信…

996引擎-接口測試:背包

996引擎-接口測試:背包 背包測試NPC參考資料背包測試NPC CONSTANT = require("Envir/QuestDiary/constant/CONSTANT.lua"); MsgUtil = require("Envir/QuestDiary/utils/996/MsgUtil.lua");

vulnhub靶場之【hack-me-please靶機】

前言 靶機:billu_b0x2靶機,IP地址為192.168.10.8 攻擊:kali,IP地址為192.168.10.6 靶機和攻擊機都采用VMware虛擬機,都采用橋接網卡模式 文章涉及的靶機及工具,都可以自行訪問官網或者項目地址進行獲取&…

機器學習——KNN模型評價

一、主要函數 sklearn.metrics.accuracy_score() 是 scikit-learn 中用于計算分類模型準確率的函數,適用于評估分類任務的整體性能。 1、核心功能 作用:計算模型預測的準確率,即正確分類的樣本數占總樣本數的比例。公式:Accurac…

美國國家數據浮標中心(NDBC)

No.大劍師精品GIS教程推薦0地圖渲染基礎- 【WebGL 教程】 - 【Canvas 教程】 - 【SVG 教程】 1Openlayers 【入門教程】 - 【源代碼示例 300】 2Leaflet 【入門教程】 - 【源代碼圖文示例 150】 3MapboxGL【入門教程】 - 【源代碼圖文示例150】 4Cesium 【入門教程】…

Qt調用Miniconda的python方法

1、 Win 64環境下載及安裝 Miniconda 首先下載Windows 版Miniconda,https://docs.conda.io/en/latest/miniconda.html或 https://repo.anaconda.com/miniconda/ 安裝界面及選擇如下圖所示: 安裝完python3.12版報錯如下。 說明:python3.11版…

Unity 與 JavaScript 的通信交互:實現跨平臺的雙向通信

前言 在現代游戲開發和 Web 應用中,Unity 和 JavaScript 的結合越來越常見。Unity 是一個強大的跨平臺游戲引擎,而 JavaScript 是 Web 開發的核心技術之一。通過 Unity 和 JavaScript 的通信交互,開發者可以實現從 Unity 到 Web 頁面的功能擴…

汽車免拆診斷案例 | 2024 款路虎發現運動版車無法正常識別智能鑰匙

故障現象  一輛2024款路虎發現運動版車,搭載2.0 L發動機,累計行駛里程約為5 000 km。車主反映,使用遙控器無法解鎖車門,隨后使用機械鑰匙打開車門,踩下制動踏板,按壓起動按鈕,儀表盤提示“將智…

跟著StatQuest學知識06-CNN進行圖像分類

目錄 一、CNN特點 二、CNN應用于圖像分類 (一)使用過濾器 (二)通過ReLU激活函數 (三)應用新的濾波器(池化) (四)輸入 (五)輸出…