首页 文章 精选 留言 我的

精选列表

搜索[云真机矩阵],共10000篇文章
优秀的个人博客,低调大师

python 获取VM物理机信息

内存,CPU !/usr/bin/python coding:utf-8 from pyVmomi import vim from pyVim.connect import SmartConnect, Disconnect, SmartConnectNoSSL import atexit import argparse def get_args(): parser = argparse.ArgumentParser( description='Arguments for talking to vCenter') parser.add_argument('-s', '--host', required=True, action='store', help='vSpehre service to connect to') parser.add_argument('-o', '--port', type=int, default=443, action='store', help='Port to connect on') parser.add_argument('-u', '--user', required=True, action='store', help='User name to use') parser.add_argument('-p', '--password', required=True, action='store', help='Password to use') args = parser.parse_args() return args def get_obj(content, vimtype, name=None): container = content.viewManager.CreateContainerView(content.rootFolder, vimtype, True) obj = [ view for view in container.view] return obj def main(): esxi_host = {} args = get_args() # connect this thing si = SmartConnectNoSSL( host=args.host, user=args.user, pwd=args.password, port=args.port) # disconnect this thing atexit.register(Disconnect, si) content = si.RetrieveContent() esxi_obj = get_obj(content, [vim.HostSystem]) for esxi in esxi_obj: esxi_host[esxi.name] = {'esxi_info':{},'datastore':{}, 'network': {}, 'vm': {}} esxi_host[esxi.name]['esxi_info']['厂商'] = esxi.summary.hardware.vendor esxi_host[esxi.name]['esxi_info']['型号'] = esxi.summary.hardware.model for i in esxi.summary.hardware.otherIdentifyingInfo: if isinstance(i, vim.host.SystemIdentificationInfo): esxi_host[esxi.name]['esxi_info']['SN'] = i.identifierValue esxi_host[esxi.name]['esxi_info']['处理器'] = '数量:%s 核数:%s 线程数:%s 频率:%s(%s) ' % (esxi.summary.hardware.numCpuPkgs, esxi.summary.hardware.numCpuCores, esxi.summary.hardware.numCpuThreads, esxi.summary.hardware.cpuMhz, esxi.summary.hardware.cpuModel) esxi_host[esxi.name]['esxi_info']['处理器使用率'] = '%.3f%%' % (float(esxi.summary.quickStats.overallCpuUsage) / (float(esxi.summary.hardware.numCpuPkgs * esxi.summary.hardware.numCpuCores * esxi.summary.hardware.cpuMhz)) * 100) esxi_host[esxi.name]['esxi_info']['内存(MB)'] = esxi.summary.hardware.memorySize/1024/1024 esxi_host[esxi.name]['esxi_info']['可用内存(MB)'] = '%.1f MB' % ((esxi.summary.hardware.memorySize/1024/1024) - esxi.summary.quickStats.overallMemoryUsage) esxi_host[esxi.name]['esxi_info']['内存使用率'] = '%.3f%%' % ((float(esxi.summary.quickStats.overallMemoryUsage)/ (float(esxi.summary.hardware.memorySize/1024/1024))) *100) esxi_host[esxi.name]['esxi_info']['系统'] = esxi.summary.config.product.fullName for ds in esxi.datastore: esxi_host[esxi.name]['datastore'][ds.name] = {} esxi_host[esxi.name]['datastore'][ds.name]['总容量(G)'] = int((ds.summary.capacity)/1024/1024/1024) esxi_host[esxi.name]['datastore'][ds.name]['空闲容量(G)'] = int((ds.summary.freeSpace)/1024/1024/1024) esxi_host[esxi.name]['datastore'][ds.name]['类型'] = (ds.summary.type) for nt in esxi.network: esxi_host[esxi.name]['network'][nt.name] = {} esxi_host[esxi.name]['network'][nt.name]['标签ID'] = nt.name for vm in esxi.vm: esxi_host[esxi.name]['vm'][vm.name] = {} esxi_host[esxi.name]['vm'][vm.name]['电源状态'] = vm.runtime.powerState esxi_host[esxi.name]['vm'][vm.name]['CPU(内核总数)'] = vm.config.hardware.numCPU esxi_host[esxi.name]['vm'][vm.name]['内存(总数MB)'] = vm.config.hardware.memoryMB esxi_host[esxi.name]['vm'][vm.name]['系统信息'] = vm.config.guestFullName if vm.guest.ipAddress: esxi_host[esxi.name]['vm'][vm.name]['IP'] = vm.guest.ipAddress else: esxi_host[esxi.name]['vm'][vm.name]['IP'] = '服务器需要开机后才可以获取' for d in vm.config.hardware.device: if isinstance(d, vim.vm.device.VirtualDisk): esxi_host[esxi.name]['vm'][vm.name][d.deviceInfo.label] = str((d.capacityInKB)/1024/1024) + ' GB' f = open(args.host + '.txt', 'w') for host in esxi_host: print('ESXI IP:', host) f.write('ESXI IP: %s \n' % host) for hd in esxi_host[host]['esxi_info']: print(' %s: %s' % (hd, esxi_host[host]['esxi_info'][hd])) f.write(' %s: %s' % (hd, esxi_host[host]['esxi_info'][hd])) for ds in esxi_host[host]['datastore']: print(' 存储名称:', ds) f.write(' 存储名称: %s \n' % ds) for k in esxi_host[host]['datastore'][ds]: print(' %s: %s' % (k, esxi_host[host]['datastore'][ds][k])) f.write(' %s: %s \n' % (k, esxi_host[host]['datastore'][ds][k])) for nt in esxi_host[host]['network']: print(' 网络名称:', nt) f.write(' 网络名称:%s \n' % nt) for k in esxi_host[host]['network'][nt]: print(' %s: %s' % (k, esxi_host[host]['network'][nt][k])) f.write(' %s: %s \n' % (k, esxi_host[host]['network'][nt][k])) for vmachine in esxi_host[host]['vm']: print(' 虚拟机名称:', vmachine) f.write(' 虚拟机名称:%s \n' % vmachine) for k in esxi_host[host]['vm'][vmachine]: print(' %s: %s' % (k, esxi_host[host]['vm'][vmachine][k])) f.write(' %s: %s \n' % (k, esxi_host[host]['vm'][vmachine][k])) f.close() if name == 'main': main()

优秀的个人博客,低调大师

支持向量机原理推导(二)

上一节我们讲述了间隔公式是如何得到的,这一节讲述要得到最大间隔时的分割超平面所要的条件是什么。 在上图中我们可以看到间隔为MarginB/2,但是我们很容易发现黑线还可以向上移动从而得到更大的间隔,当移动到是最上面红线与第一个Men数据点相交时便得到最大间隔了,如下图: 下面我们就根据这个思路求出得到最大间隔时所要满足的条件。 如上图,我们设分割超平面为g:W•X+b=0,以它为对称轴的两条线为h:W•X+b=1;f:W•X+b=-1 首先必须满足在h与f线之间没有任何数据,然后便是支持向量正好在这两条线上。即: 对于蓝色类都满足W•X+b≥1,且至少有一个点瞒住W•X+b=1; 对于红色类都满足W•X+b≤-1,且至少有一个点瞒住W•X+B=-1; 我们设蓝色类与红色类的标签分别为(1,-1),那么我们把不等式与各自对应的标签相乘便可

优秀的个人博客,低调大师

别只把它当聊天框,让它「交付成品」才是真上手

用了一阵子,我发现新手最容易停在「问答」这一步——问完一句,得到答案,关掉,完事。但 WorkBuddy 真正好用的地方,是它能把一次对话变成「一个你关掉窗口也还在的东西」:一个能打开的网页、一份能打印的文档、一张能放进复盘里的图。前几篇我聊了先出方案、让它出图、把连接器和技能串起来;今天这篇就讲「交付」——怎么让它在聊完之后,真的给你留下一个能打开、能用的文件。我自己的那个备考小工具和杂志阅读器,其实都是这么一点一点「聊」出来的,不是谁一开始就写好了代码。

优秀的个人博客,低调大师

DeepSeek 大范围开放识图模式:不是 OCR,是真看图说话

4 月 28 日,DeepSeek 多模态团队研究员陈小康在 X 平台发布了一条意味深长的推文:「Now, we see you.」配图是 DeepSeek 标志性的蓝色鲸鱼 —— 左边戴着海盗眼罩,右边则睁开了双眼。这条推文随后被删除,但「鲸鱼开眼」的隐喻已经传开。 一天后的 4 月 29 日,DeepSeek 正式开启「识图模式」灰度内测。 而到5 月初,据多家媒体和用户反馈,该功能已大范围开放,「几乎所有测试账号都能看到入口」。不过,入口按钮上至今仍标注着一行小字:「图片理解功能内测中」。 可以看到,在网页端和 App 的对话界面中,「识图模式」作为第三个标签,与原有的「快速模式」「专家模式」并排出现在输入框上方。点击进入后,输入框旁会出现图片上传按钮,支持拖拽、粘贴或点击上传。 与市面上许多「上传图片→提取文字」的 OCR 工具不同,DeepSeek 强调这是深度图像理解—— 模型不仅能读取画面中的文字,还能理解场景氛围、物体关系、空间逻辑甚至文化语境。 根据灰度用户的广泛测试,识图模式在以下场景表现亮眼: 文物鉴定:上传一件玉器照片,非思考模式只能描述外观;开启深度思考后,模型准确识别为「清代痕都斯坦风格」,并给出纹饰和工艺分析。 截图转码:上传含 UI 界面的截图,模型能反向生成结构完整、可交互的 HTML 代码,复现按钮和跳转逻辑。 空间推理:解答立方体旋转与组装类题目,非思考模式容易出错,但深度思考后能给出正确结论(代价是耗时较长,约 4 分钟)。 表情包与梗图:能识别公众人物和动漫角色,并解读其中的幽默逻辑和情绪氛围。 地理推断:结合建筑特征和画面中的少量文字,推断出准确的地理位置并给出坐标。 处理效率方面,非思考模式下响应极快,一张 800×800 像素的图像仅消耗约 90 tokens。 多方实测推测,识图模式背后是一个独立于 DeepSeek-V4 Flash/Pro 的视觉理解模型,基于「Thinking with Visual Primitives」框架,属于挂载在 V4 主干上的视觉模块,而非 V4 原生的多模态能力。这也解释了为什么 V4 预览版(4 月 24 日发布)是纯文本模型,识图模式却在短短几天后即开启灰度 —— 这是两条独立的技术线。 识图模式并非万能。在极限测试中,它暴露出明显短板: 数手指 / 爱心测试:类似「图中有几只老虎」的计数题,模型容易幻觉,自我博弈后仍可能答错。 反色 / 碎块化图片:这类反直觉视觉任务基本失败。 复杂行测图形题:非思考模式下错误率较高,深度思考虽能解对但耗时惊人。 知识库滞后:对于较新的产品、游戏或机型,模型可能误判(如将小米 15 Ultra 误认为小米 11 Ultra)。 此外,该模式目前不支持图像生成、视频理解、以图搜图和二维码识别,HEIF 等部分图片格式也无法上传。 识图模式的灰度上线,标志着 DeepSeek 从纯文本正式迈入图文交互时代。官方技术报告曾将「将多模态能力融入模型体系」列为未来方向,而灰度上线的识图模式被视为向完整多模态过渡的阶段性产品。后续官方预告的 Vision 版本,可能会承载更原生、更完整的多模态功能。 对于已经获得入口的用户来说,这颗「睁眼的鲸鱼」值得亲自试试。

资源下载

更多资源
Mario

Mario

马里奥是站在游戏界顶峰的超人气多面角色。马里奥靠吃蘑菇成长,特征是大鼻子、头戴帽子、身穿背带裤,还留着胡子。与他的双胞胎兄弟路易基一起,长年担任任天堂的招牌角色。

腾讯云软件源

腾讯云软件源

为解决软件依赖安装时官方源访问速度慢的问题,腾讯云为一些软件搭建了缓存服务。您可以通过使用腾讯云软件源站来提升依赖包的安装速度。为了方便用户自由搭建服务架构,目前腾讯云软件源站支持公网访问和内网访问。

Spring

Spring

Spring框架(Spring Framework)是由Rod Johnson于2002年提出的开源Java企业级应用框架,旨在通过使用JavaBean替代传统EJB实现方式降低企业级编程开发的复杂性。该框架基于简单性、可测试性和松耦合性设计理念,提供核心容器、应用上下文、数据访问集成等模块,支持整合Hibernate、Struts等第三方框架,其适用范围不仅限于服务器端开发,绝大多数Java应用均可从中受益。

Sublime Text

Sublime Text

Sublime Text具有漂亮的用户界面和强大的功能,例如代码缩略图,Python的插件,代码段等。还可自定义键绑定,菜单和工具栏。Sublime Text 的主要功能包括:拼写检查,书签,完整的 Python API , Goto 功能,即时项目切换,多选择,多窗口等等。Sublime Text 是一个跨平台的编辑器,同时支持Windows、Linux、Mac OS X等操作系统。

用户登录
用户注册