diff --git a/Merge/back_rhj/app/routes.py b/Merge/back_rhj/app/routes.py
index 6f159ca..0b60624 100644
--- a/Merge/back_rhj/app/routes.py
+++ b/Merge/back_rhj/app/routes.py
@@ -2,6 +2,7 @@
 from .functions.FAuth import FAuth
 from app.services.recommendation_service import RecommendationService
 from app.utils.graph_build import build_user_post_graph
+from app.utils.gpuwriter import GpuWriter
 from sqlalchemy import create_engine
 from sqlalchemy.orm import sessionmaker
 from config import Config
@@ -409,3 +410,37 @@
             'success': False, 
             'message': f'推荐获取失败: {str(e)}'
         }), 500
+
+@main.route('/gpu-usage', methods=['GET'])
+@token_required
+def get_gpu_usage(current_user):
+    """获取最新GPU使用情况接口"""
+    try:
+        limit = request.args.get('limit', 100, type=int)
+        
+        # 限制最大获取条数
+        if limit > 1000:
+            limit = 1000
+            
+        print(f"获取最新 {limit} 条GPU使用记录")
+        
+        # 创建GpuWriter实例并获取数据
+        gpu_writer = GpuWriter(Config.SQLURL)
+        gpu_records = gpu_writer.get_latest_gpu_usage(limit)
+        
+        return jsonify({
+            'success': True,
+            'data': {
+                'records': gpu_records,
+                'count': len(gpu_records),
+                'limit': limit
+            },
+            'message': 'GPU使用情况获取成功'
+        }), 200
+        
+    except Exception as e:
+        print(f"获取GPU使用情况错误: {str(e)}")
+        return jsonify({
+            'success': False, 
+            'message': f'获取GPU使用情况失败: {str(e)}'
+        }), 500
