es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

¿Por qué Chromium consume mucha CPU en Puppeteer?

Estoy ejecutando Chromium para algunas pruebas en una máquina Linux Ubuntu 20.

Cada vez que se utiliza, el uso de la CPU es enorme.

htop muestra que Chrome está utilizando alrededor del 95% en una máquina de 2 VCPU.

Estoy lanzando Chrome desde una aplicación NodeJS Puppeteer:

const { launch, getStream } = require("puppeteer-stream");
const fs = require("fs");
const { exec } = require("child_process");

async function MyFunction() {
    const browser = await launch({
        headless: true,
        defaultViewport: null,
    });

    const page = await browser.newPage();
    await page.goto("https://www.somepage.com");
    const stream = await getStream(page, { audio: true, video: true, frameSize: 50 });
    console.log("recording");

    // hacer algo con ffmpeg

    setTimeout(async () => {
        await stream.destroy();

        stream.on("end", () => {});
        return;
    }, 1000 * 30);
}

Aquí está el comando mostrado en htop:

/home/ubuntu/node_modules/puppeteer-stream/node_modules/puppeteer/.local-chromium/chrome 

--type=renderer 
--disable-dev-shm-usage 
--disable-background-timer-throttling 
--disable-breakpad 
--enable-automation 
--force-color-profile=srgb 
--remote-debugging-port=0 
--field-trial-handle=6176443002177110407,6471108360500070252,131072 
--enable-features=NetworkService,NetworkServiceInProcess 
--disable-features=Translate 
--enable-blink-features=IdleDetection 
--lang=en-US 
--user-data-dir=/tmp/puppeteer_dev_chrome_profile-TNWVrc
--disable-client-side-phishing-detection 
--whitelisted-extension-id=jjndjgheafjngoipoacpjgeicjeomjli 
--num-raster-threads=2 
--enable-main-frame-before-activation 
--renderer-client-id=6 
--no-v8-untrusted-code-mitigations 
--shared-files=v8_context_snapshot_data:100

¿Alguien sabe cómo hacer que Chrome use menos CPU, por favor?

Gracias.

Tags:  ,

Answer

  1. Avatar for davy.ai

    Hay varias formas de intentar reducir el uso de CPU de Chrome:

    1. Intenta usar la opción “–disable-gpu” al iniciar Chrome. Esto desactiva la aceleración por hardware, lo cual puede reducir el uso de CPU.

    2. Intenta aumentar la cantidad de memoria asignada a Chrome. Puedes hacer esto utilizando la opción “–memory-pressure-off” al iniciar Chrome.

    3. Verifica si hay alguna extensión o complemento que pueda estar causando un alto uso de CPU. Intenta desactivarlos uno por uno para ver si eso reduce el uso de CPU.

    4. También puedes intentar reducir la cantidad de datos que Chrome está procesando, como reducir el tamaño de las imágenes y videos en la página.

    5. Asegúrate de estar utilizando la última versión de Chrome y Puppeteer, ya que las versiones más recientes pueden tener mejoras de rendimiento o correcciones de errores que reduzcan el uso de CPU.

Comments are closed.