From 0eb4da3bcda38344c7021adaaa87569d8d183685 Mon Sep 17 00:00:00 2001 From: wuko233 Date: Tue, 17 Feb 2026 10:13:39 +0800 Subject: [PATCH] =?UTF-8?q?feat:=20=E4=BC=98=E5=8C=96=E6=89=AB=E6=8F=8F?= =?UTF-8?q?=E6=80=A7=E8=83=BD=EF=BC=8C=E9=98=B2=E6=AD=A2=E7=9D=A1=E6=AD=BB?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- internal/scanner/scanner.go | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/internal/scanner/scanner.go b/internal/scanner/scanner.go index 3850b5f..ff66869 100644 --- a/internal/scanner/scanner.go +++ b/internal/scanner/scanner.go @@ -49,6 +49,7 @@ func (s *Scanner) scanLoop() { func (s *Scanner) performScan() { log.Println("[扫描器] 开始新一轮全盘扫描") + fileCount := 0 for _, root := range s.scanPaths { err := filepath.Walk(root, func(path string, info os.FileInfo, err error) error { @@ -60,10 +61,15 @@ func (s *Scanner) performScan() { } if err != nil { + log.Printf("[扫描器] 访问错误: %v", err) return nil } - s.checkCPUAndSleep() + fileCount++ + + if fileCount%100 == 0 { + s.checkCPUAndSleep() + } if info.IsDir() { if s.wlManager.IsPathIgnored(path) { @@ -96,7 +102,7 @@ func (s *Scanner) performScan() { } func (s *Scanner) checkCPUAndSleep() { - percent, err := cpu.Percent(time.Second, false) + percent, err := cpu.Percent(200*time.Millisecond, false) if err != nil || len(percent) == 0 { log.Printf("[扫描器] 获取CPU使用率失败: %v", err) return