java获取linux主机中英伟达GPU状态信息(通过nvidia-smi命令)

      由于业务需要获取服务器显卡信息来分配资源,所以打算新增接口来响应GPU信息。

      百度许久发现没有直接获取相关信息的工具包,有 oshi 包可以用来获取服务器内存,硬盘等基本信息,但是可惜不支持GPU信息获取;间间获取的方法都是通过bash执行nvidia-smi命令然后截取字符串解析。不过这种方法很不灵活,后来通过查看api,发现nvidia-smi命令可以直接输出xml格式文本,通过xml可以直观的解析GPU信息与进程信息。具体实现如下:

      1. 通过 nvidia-smi -q -x 命令获取GPU状态xml信息




	Fri Nov  6 16:22:22 2020
	396.82
	1
	
		Tesla P100-PCIE-16GB
		Tesla
		Enabled
		Disabled
		Disabled
		Disabled
		4000
		
			N/A
			N/A
		
		0325017076672
		GPU-b4c76a22-4348-7115-cd55-a40390cfb524
		0
		86.00.41.00.06
		No
		0x1300
		900-2H400-0100-030
		
			H400.0201.00.08
			1.1
			4.1
			N/A
		
		
			N/A
			N/A
		
		
			Pass-Through
		
		
			N/A
		
		
			13
			00
			0000
			15F810DE
			00000000:13:00.0
			118F10DE
			
				
					3
					3
				
				
					16x
					16x
				
			
			
				N/A
				N/A
			
			0
			0 KB/s
			0 KB/s
		
		N/A
		P0
		
			Not Active
			Not Active
			Not Active
			Not Active
			Not Active
			Not Active
			Not Active
			

你可能感兴趣的:(java基础,java,linux)