690619:0846 239 #02
This commit is contained in:
@@ -83,10 +83,12 @@ export class VramMonitorService {
|
||||
this.logger.warn(
|
||||
`Failed to query Ollama /api/ps: ${err instanceof Error ? err.message : String(err)}`
|
||||
);
|
||||
// เปลี่ยนจาก pessimistic (assume all VRAM used) เป็น optimistic (assume no VRAM used)
|
||||
// เพื่อป้องกัน false positive OOM Guard เมื่อ query ล้มเหลวแต่ไม่มี model load จริง
|
||||
return {
|
||||
totalMb: this.totalVramMb,
|
||||
usedMb: this.totalVramMb, // บังคับให้ used = total เพื่อให้ available = 0
|
||||
availableMb: 0,
|
||||
usedMb: 0, // สมมติว่าไม่มี model load เมื่อ query ล้มเหลว
|
||||
availableMb: this.totalVramMb,
|
||||
querySuccess: false,
|
||||
mainModelVramMb: 0,
|
||||
};
|
||||
|
||||
@@ -150,11 +150,13 @@ describe('VramMonitorService', () => {
|
||||
// 8192MB total - 1024MB used = 7168MB free > 4000MB
|
||||
expect(status.hasCapacity).toBe(true);
|
||||
});
|
||||
it('ควรคืน fallback (hasCapacity=false) เมื่อ /api/ps ล้มเหลว', async () => {
|
||||
it('ควรคืน fallback optimistic (hasCapacity=true) เมื่อ /api/ps ล้มเหลว', async () => {
|
||||
mockedAxios.get.mockRejectedValue(new Error('Network error'));
|
||||
const status = await service.getVramStatus();
|
||||
expect(status.hasCapacity).toBe(false);
|
||||
expect(status.freeVramMb).toBe(0);
|
||||
// เปลี่ยนจาก pessimistic เป็น optimistic: สมมติว่าไม่มี model load เมื่อ query ล้มเหลว
|
||||
expect(status.hasCapacity).toBe(true);
|
||||
expect(status.freeVramMb).toBe(8192); // total VRAM ทั้งหมด (8192MB default)
|
||||
expect(status.usedVramMb).toBe(0);
|
||||
expect(status.loadedModels).toEqual([]);
|
||||
});
|
||||
});
|
||||
|
||||
Reference in New Issue
Block a user