日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

机器信息MachineInfo

發布時間:2023/12/4 编程问答 67 豆豆
生活随笔 收集整理的這篇文章主要介紹了 机器信息MachineInfo 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

不管是業務功能需要還是開發診斷需要,經常需要用到CPU內存硬盤等信息,或者需要主板編號和系統編號做唯一設備標識。于是設計了機器信息類 MachineInfo ,支持Windows、Linux、Raspberry等。

Nuget包:NewLife.Core

源碼地址:https://github.com/NewLifeX/X/blob/master/NewLife.Core/Common/MachineInfo.cs

快速入門

星塵代理StarAgent支持查看機器信息。

此處為語雀文檔,點擊鏈接查看:https://www.yuque.com/go/doc/16206433

Win10臺式機的機器信息:

嵌入式工業計算機的機器信息(帶有溫度值):

樹莓派Zero的機器信息(60~100塊錢,跑Mono):

阿里云服務器的機器信息:

星塵上查看A5工業計算機的信息(http://star.newlifex.com/Nodes/NodeData?nodeId=59):

基礎信息

  • OSName,系統名稱,例如顯示“Windows 10 企業版”,而不是“Microsoft Windows NT 10.0.19042.0”

  • OSVersion,系統版本。

  • Product,產品名稱,制造商,例如“Alibaba Cloud ECS”

  • Processor,處理器型號

設備標識

  • CpuID,處理器序列號,曾經唯一,某一年之后,這個序列號就變成了類似批次號一樣,大量重復

  • UUID,硬件唯一標識,主板編號。小牌子主板該號碼大量重復

  • Guid,操作系統標識,重裝系統后改變。Ghost系統大量重復

  • DiskID,磁盤序列號,遇到虛擬盤容易改變,例如云服務器或者樹莓派TF卡。在本地客戶端中該號碼唯一性很好。

在實際應用中,星塵就采用UUID+Guid+DiskID混合后計算Crc的方式,來作為客戶端唯一標識。

某些系統中,可能無法讀取到這些標識,特別是不同的Linux發行版。此時MachineInfo會生成隨機guid,并以0-開頭。

狀態信息

  • Memory,內存總量

  • AvailableMemory,可用內存

  • CpuRate,CPU使用率,Windows和Linux介采用系統空閑時間和總處理器時間比值來計算

  • Temperature,溫度,主要用于Raspberry等嵌入式板卡中

緩存與刷新

機器硬件信息一般很少改變,為了加速系統啟動速度,可以提前調用 MachineInfo.RegisterAsync() 來優化。

該方法內部會異步讀取機器硬件信息,并生成machine_info.json文件,緩存到本地Data數據目錄和系統Temp臨時目錄。本地Data數據目錄是為了方便下次啟動加速,而系統Temp臨時目錄則是為其它應用而優化緩存。

同時,某些信息需要系統管理員權限才能獲取,而并非所有應用都有該權限,同一臺服務器上,只要有一個應用具備管理員權限,其它所有應用也可得到準確的硬件信息。

再者,對于讀取不到或者不存在的硬件,例如主板UUID,會自動生成一個隨機guid,放置在系統Temp目錄,可以避免同一臺服務器上的不同應用生成不同的UUID。

為了讀取得到最新狀態信息,讀取之前需要調用 Refresh 方法來刷新。

創作挑戰賽新人創作獎勵來咯,堅持創作打卡瓜分現金大獎

總結

以上是生活随笔為你收集整理的机器信息MachineInfo的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。