当前位置: 首页 > news >正文

Go语言 获取服务器资源磁盘Disk情况

 1、获取整个磁盘的总量、已使用量、使用率

package mainimport ("fmt""github.com/shirou/gopsutil/disk""log"
)func main() {// 获取所有挂载点的磁盘使用率信息partitions, err := disk.Partitions(false)if err != nil {log.Fatalf("Error getting partitions: %v", err)}var total uint64var used uint64for _, partition := range partitions {usage, err := disk.Usage(partition.Mountpoint)if err != nil {log.Printf("Error getting usage for %s: %v", partition.Mountpoint, err)continue}total += usage.Totalused += usage.Used}// 计算总使用率usagePercent := float64(used) / float64(total) * 100// 打印总磁盘使用率信息fmt.Printf("Total Disk Usage: %.2f%%\n", usagePercent)fmt.Printf("Total: %v GB\n", total/1024/1024/1024)fmt.Printf("Used: %v GB\n", used/1024/1024/1024)fmt.Printf("Free: %v GB\n", (total-used)/1024/1024/1024)
}

2、获取某个目录的空间总量、剩余量、使用量、使用率

比如:下面的查询根目录的空间大小、剩余空间、使用空间、使用绿

	package main"github.com/shirou/gopsutil/disk")func main() {// 获取磁盘使用率信息usage, err := disk.Usage("/")if err != nil {fmt.Printf("Error getting disk usage: %v\n", err)return}// 打印磁盘使用率信息fmt.Printf("Disk Usage of /:\n")fmt.Printf("Total: %v GB\n", usage.Total/1024/1024/1024)fmt.Printf("Free: %v GB\n", usage.Free/1024/1024/1024)fmt.Printf("Used: %v GB\n", usage.Used/1024/1024/1024)fmt.Printf("Used Percent: %.2f%%\n", usage.UsedPercent)}

http://www.lryc.cn/news/378737.html

相关文章:

  • 使用上海云盾 CDN 和 CloudFlare 后 Nginx、 WordPress、 Typecho 获取访客真实 IP 方法
  • 深入探究RTOS的任务调度
  • 【shell脚本速成】函数
  • 拒绝零散碎片, 一文理清MySQL的各种锁
  • P5711 【深基3.例3】闰年判断
  • 基于Raft算法实现的分布式键值对存储系统——学习笔记
  • 秋招突击——6/17——复习{整理昨天的面试资料}——新作{删除链表倒数第n个节点}
  • 宝塔面板使用技巧(pure-FTP)上传文件和文件夹默认权限644的修改
  • mac m芯片安装win11遇坑
  • 一个自定义流程的平台
  • 舔狗日记Puls微信小程序源码
  • PyMuPDF 操作手册 - 05 PDF的OCR识别等
  • Vue与TypeScript的配合:如何在Vue项目中使用TypeScript,利用静态类型提高代码的可维护性
  • 华为仓颉语言介绍
  • 《昇思 25 天学习打卡营第 3 天 | 张量 Tensor 》
  • free命令——显示系统内存使用情况
  • 麒麟移动运行环境(KMRE)——国内首个开源的商用移固融合“Android生态兼容环境”正式开源
  • print(“{}{}“.format())
  • 2-12 基于CV模型卡尔曼滤波、CT模型卡尔曼滤波、IMM模型滤波的目标跟踪
  • 序列1bp插入有什么影响
  • CVPR 2024盛况空前,上海科技大学夺得最佳学生论文奖,惊艳全场
  • HTTP 状态码详解及使用场景
  • 【Windows】配置Flutter开发环境
  • 云渲染与传统渲染器的较量与融合
  • 比较新旧两数组列表,新增或删除数据库记录(ai生成)
  • Java基础 - 练习(五)根据今天日期获取一周内的日期(基姆拉尔森公式)
  • HTML5 新元素
  • 虹软ArcSoft—真正离线免费的人脸识别SDK
  • [环境配置]vscode通过ssh连接autodl进行项目开发
  • 2024中国宁波-东南亚职业教育产教协同发展校企对接会举办