github / github/copilot-cli

CPU usage at max.

Ouverte
#3,907 0 commentaires 0 réactions 0 personnes assignées Voir sur GitHub
area:configuration area:context-memory area:sessions
Langage dominant
Shell
Étoiles
11.2k
Forks
1.9k
Merge moyen
14 h 16 min
PR mergées (30 j)
6

Description

### Describe the bug

# Copilot CLI feedback - 2026-06-24

Two related issues from a single long-running session.

## Issue 1: agent-induced data loss via hardlink "backup"

While trying to mitigate Issue 2 (below), I (the agent) ran:

ln events.jsonl events.jsonl.bak-20260624
: > events.jsonl

Intending to keep a backup before truncating the 233 MB events log.
Because `ln` creates a hardlink (shared inode), truncating one name
truncated both. The 233 MB raw transcript was destroyed.

The session survived because the in-prompt summary, plan.md,
checkpoints/, session.db, files/ and stored memories were intact.

### What would help
- Document in the agent system prompt or tool guidance that
`ln` is not a backup primitive. Use `cp` (or `cp --reflink=auto`
on btrfs/xfs) to take an independent copy.
- Or: ship a built-in `/session-archive` or `/session-compact`
command so users (and agents) don't have to invent file-level
tricks on a live session.

## Issue 2: events.jsonl growth pins CPU on long sessions

Single-session events.jsonl grew to 233 MB over ~1200 turns.
Starting `copilot` from a directory that triggers session resume
pegs ~5 CPU cores ("indexer berserk") for 20+ minutes.

lsof shows events.jsonl is NOT held open during the session
(only session.db is) - so it appears to be read whole on
resume or on summary regeneration.

### What would help
- Cap events.jsonl size, or roll/compact it as part of the
existing summarization pass.
- Don't re-parse the whole file on every resume; rely on
session.db + the last summary checkpoint.
- Or expose `--no-resume-events` / `.copilotignore` for the
session log itself.

## Issue 3 (related): no `.copilotignore` and no scan-depth flag

Starting `copilot` from `~/github` (a directory of ~60 sibling
repos, not a single repo) appears to walk every subdir for
CLAUDE.md / AGENTS.md / .github/instructions. `-C ` is
the only workaround and defeats cross-repo work.

### What would help
- `.copilotignore` honoured at the cwd.
- `--scan-depth N` or `--no-scan-children`.
- Or: scan lazily, only when the user references a path.

## Session id

7801c0d9-4a25-47bf-aee7-bb26e20ff3c2

### Affected version

_No response_

### Steps to reproduce the behavior

1. Open VScode.
2. Start copilot.
3. Watch CPU usage rise to max.

### Expected behavior

Not seeing CPU usage over the normal 1-2%.

### Additional context

_No response_

Guide de contribution

Ouvrir le guide de contribution

Piste de recherche

Commencez par reproduire le chemin de reprise décrit dans l’issue et inspectez events.jsonl, session.db ainsi que l’analyse de démarrage d’un répertoire contenant des repositories frères. Déterminez si l’analyse de la reprise ou l’analyse des fichiers d’instructions provoque le pic de CPU ; le travail est considéré comme terminé lorsque les longues sessions et les répertoires de travail contenant plusieurs repositories ne provoquent plus une utilisation soutenue du CPU au maximum, tandis que les instructions de sauvegarde demandées ou le comportement d’archivage des sessions sont traités séparément.

Rédigé par le modèle d'indexation à partir du texte de l'issue.

Évaluation

Domaine
cli, performance
Type d'issue
Bug
Difficulté
4/5
Temps estimé
3-5 jours
Activité
Calme
Clarté
À clarifier
Accessibilité débutants
28/100

Recevez les nouvelles issues par e-mail

Un résumé court des issues GitHub adaptées aux débutants.