Bird
Raised Fist0
Node.jsframework~5 mins

os module for system information in Node.js - Cheat Sheet & Quick Revision

Choose your learning style10 modes available

Start learning this pattern below

Jump into concepts and practice - no test required

or
Recommended
Test this pattern10 questions across easy, medium, and hard to know if this pattern is strong
Recall & Review
beginner
What is the purpose of the Node.js 'os' module?
The 'os' module provides methods to get information about the operating system, like CPU details, memory, and network interfaces.
Click to reveal answer
beginner
How do you get the total amount of system memory using the 'os' module?
Use os.totalmem() to get the total system memory in bytes.
Click to reveal answer
beginner
Which method returns the operating system's default directory for temporary files?
os.tmpdir() returns the path to the default temporary files directory.
Click to reveal answer
intermediate
What does os.cpus() return?
It returns an array of objects, each describing a CPU/core's model, speed, and times spent in different modes.
Click to reveal answer
beginner
How can you find the current user's home directory using the 'os' module?
Use os.homedir() to get the path of the current user's home directory.
Click to reveal answer
Which method from the 'os' module gives you the system uptime in seconds?
Aos.uptime()
Bos.systemTime()
Cos.getUptime()
Dos.time()
What type of value does os.freemem() return?
AFree memory in bytes
BFree memory in megabytes
CPercentage of free memory
DBoolean indicating if memory is free
Which method provides network interface details?
Aos.interfaces()
Bos.networkInterfaces()
Cos.networks()
Dos.netInfo()
How do you get the operating system platform (like 'linux' or 'win32')?
Aos.type()
Bos.system()
Cos.platform()
Dos.osName()
What does os.endianness() return?
AThe OS version
BThe CPU speed in MHz
CThe number of CPU cores
DThe byte order of the CPU ('BE' or 'LE')
Explain how you would use the 'os' module to find out the total and free memory on a system.
Think about methods that return memory info in bytes.
You got /3 concepts.
    Describe how to get CPU information and network interfaces using the 'os' module.
    Look for methods that return arrays or objects with system hardware info.
    You got /3 concepts.

      Practice

      (1/5)
      1. What does the Node.js os module primarily provide?
      easy
      A. Information about the operating system and hardware
      B. Functions to create web servers
      C. Tools for database management
      D. Methods to handle file uploads

      Solution

      1. Step 1: Understand the purpose of the os module

        The os module in Node.js is designed to provide details about the operating system and hardware, such as CPU info, memory, and platform.
      2. Step 2: Compare with other options

        Options A, C, and D relate to web servers, databases, and file handling, which are not the focus of the os module.
      3. Final Answer:

        Information about the operating system and hardware -> Option A
      4. Quick Check:

        os module = system info [OK]
      Hint: Remember: os module = operating system info [OK]
      Common Mistakes:
      • Confusing os module with http or fs modules
      • Thinking os manages databases or servers
      2. Which of the following is the correct way to import the os module in Node.js?
      easy
      A. require os = 'os';
      B. import os from 'os';
      C. const os = import('os');
      D. const os = require('os');

      Solution

      1. Step 1: Recall Node.js module import syntax

        In Node.js, the common way to import built-in modules is using const module = require('module-name');.
      2. Step 2: Check each option

        const os = require('os'); uses correct syntax. import os from 'os'; is ES module syntax but requires special setup. const os = import('os'); is invalid syntax. require os = 'os'; is incorrect assignment.
      3. Final Answer:

        const os = require('os'); -> Option D
      4. Quick Check:

        require('os') = correct import [OK]
      Hint: Use require('os') to import os module in Node.js [OK]
      Common Mistakes:
      • Using ES module import without config
      • Wrong assignment syntax
      • Confusing import() with require()
      3. What will the following code output if run on a typical system?
      const os = require('os');
      console.log(os.cpus().length);
      medium
      A. The hostname of the system
      B. The number of CPU cores on the system
      C. The total amount of system memory in bytes
      D. An error because cpus is not a function

      Solution

      1. Step 1: Understand os.cpus() method

        The os.cpus() method returns an array of objects, each representing a CPU core.
      2. Step 2: Analyze the code output

        The code logs the length of this array, which equals the number of CPU cores on the system.
      3. Final Answer:

        The number of CPU cores on the system -> Option B
      4. Quick Check:

        os.cpus().length = CPU cores count [OK]
      Hint: os.cpus() returns array of cores; length = core count [OK]
      Common Mistakes:
      • Thinking it returns memory size
      • Assuming it returns hostname
      • Believing cpus() is not a function
      4. Identify the error in this code snippet:
      const os = require('os');
      console.log(os.totalmem());
      medium
      A. No error; it correctly logs total memory
      B. totalmem is not a function, should be totalMem
      C. Missing parentheses after totalmem
      D. Should import os with import statement

      Solution

      1. Step 1: Check method name correctness

        The correct method to get total memory is os.totalmem() all lowercase, so spelling is correct.
      2. Step 2: Verify method usage

        The code uses os.totalmem() correctly with parentheses, so no syntax error.
      3. Step 3: Re-examine options

        totalmem is not a function, should be totalMem claims totalMem is correct, but Node.js uses totalmem lowercase. So totalmem is not a function, should be totalMem is incorrect.
      4. Step 4: Identify actual error

        There is no error; the code is correct.
      5. Final Answer:

        No error; it correctly logs total memory -> Option A
      6. Quick Check:

        os.totalmem() = total memory [OK]
      Hint: Check exact method names in docs; totalmem is lowercase [OK]
      Common Mistakes:
      • Capitalizing method names incorrectly
      • Forgetting parentheses on function calls
      • Confusing import styles
      5. You want to write a Node.js script that prints the system's free memory as a percentage of total memory using the os module. Which code snippet correctly does this?
      hard
      A. const os = require('os'); console.log(`Free memory: ${os.freemem / os.totalmem * 100}%`);
      B. const os = require('os'); const free = os.totalmem(); const total = os.freemem(); console.log(`Free memory: ${(free / total * 100).toFixed(2)}%`);
      C. const os = require('os'); const free = os.freemem(); const total = os.totalmem(); console.log(`Free memory: ${(free / total * 100).toFixed(2)}%`);
      D. const os = require('os'); const free = os.freemem(); const total = os.totalmem(); console.log('Free memory: ' + free + '/' + total + '%');

      Solution

      1. Step 1: Identify correct methods for free and total memory

        os.freemem() returns free memory, and os.totalmem() returns total memory.
      2. Step 2: Calculate percentage and format output

        Divide free by total, multiply by 100, and use toFixed(2) to show two decimals. const os = require('os'); const free = os.freemem(); const total = os.totalmem(); console.log(`Free memory: ${(free / total * 100).toFixed(2)}%`); does this correctly.
      3. Step 3: Check other options for errors

        const os = require('os'); const free = os.totalmem(); const total = os.freemem(); console.log(`Free memory: ${(free / total * 100).toFixed(2)}%`); swaps free and total memory, giving wrong result. const os = require('os'); console.log(`Free memory: ${os.freemem / os.totalmem * 100}%`); misses parentheses on functions. const os = require('os'); const free = os.freemem(); const total = os.totalmem(); console.log('Free memory: ' + free + '/' + total + '%'); prints raw numbers without percentage calculation.
      4. Final Answer:

        const os = require('os'); const free = os.freemem(); const total = os.totalmem(); console.log(`Free memory: ${(free / total * 100).toFixed(2)}%`); -> Option C
      5. Quick Check:

        free/total * 100 with toFixed(2) = correct percentage [OK]
      Hint: Divide freemem() by totalmem(), multiply by 100, format decimals [OK]
      Common Mistakes:
      • Swapping free and total memory values
      • Forgetting parentheses on freemem() or totalmem()
      • Not formatting output as percentage