mirror of
https://github.com/c9fe/22120.git
synced 2024-10-26 22:52:38 +02:00
25 lines
723 B
JavaScript
25 lines
723 B
JavaScript
|
#!/usr/bin/env node
|
||
|
|
||
|
const os = require('os');
|
||
|
const { spawn } = require('child_process');
|
||
|
|
||
|
// Checking if node_modules directory exists
|
||
|
const fs = require('fs');
|
||
|
const path = require('path');
|
||
|
|
||
|
if (!fs.existsSync(path.join(process.cwd(), 'node_modules'))) {
|
||
|
spawn('npm', ['i'], { stdio: 'inherit' });
|
||
|
}
|
||
|
|
||
|
// Getting the total system memory
|
||
|
const totalMemory = os.totalmem();
|
||
|
|
||
|
// Allocating 90% of the total memory
|
||
|
const memoryAllocation = Math.floor((totalMemory / (1024 * 1024)) * 0.8); // Converted bytes to MB and took 90% of it
|
||
|
|
||
|
console.log(`Index can use up to: ${memoryAllocation}MB RAM`);
|
||
|
|
||
|
// Running the application
|
||
|
spawn('node', [`--max-old-space-size=${memoryAllocation}`, 'src/app.js'], { stdio: 'inherit' });
|
||
|
|