Bird
Raised Fist0
Linux CLIscripting~5 mins

System resource monitoring (free, uptime, vmstat) in Linux CLI - Time & Space Complexity

Choose your learning style10 modes available
Time Complexity: System resource monitoring (free, uptime, vmstat)
O(1)
Understanding Time Complexity

When we run system monitoring commands, we want to know how their work grows as the system size or load changes.

We ask: How does the time to get resource info change when the system has more processes or memory?

Scenario Under Consideration

Analyze the time complexity of these commands:

free
uptime
vmstat 1 5

These commands show memory, system uptime, and detailed stats repeatedly.

Identify Repeating Operations

Look at what repeats inside these commands:

  • Primary operation: Reading system data from kernel and proc files.
  • How many times: For vmstat 1 5, it repeats 5 times at 1-second intervals; others run once.
How Execution Grows With Input

As system size grows, commands read more data but mostly summary info.

Input Size (n)Approx. Operations
10 processesSmall, quick reads
100 processesStill fast, slightly more data
1000 processesMore data but still summary reads

Pattern observation: The commands mostly read fixed-size summaries, so time grows very slowly with system size.

Final Time Complexity

Time Complexity: O(1)

This means the commands take about the same time regardless of system size because they read fixed summary data.

Common Mistake

[X] Wrong: "These commands take longer as the number of processes grows a lot."

[OK] Correct: They mostly read fixed system info, not full process lists, so time stays steady.

Interview Connect

Understanding how system commands scale helps you explain system monitoring efficiency clearly and confidently.

Self-Check

"What if vmstat was run with a very large count and very short interval? How would that affect time complexity?"

Practice

(1/5)
1. What does the free command primarily display on a Linux system?
easy
A. System uptime and load average
B. Disk usage statistics
C. CPU temperature
D. Memory usage and availability

Solution

  1. Step 1: Understand the purpose of free

    The free command shows information about the system's memory usage, including total, used, free, and available memory.
  2. Step 2: Compare with other commands

    uptime shows system running time and load, vmstat shows detailed CPU and memory stats, but free focuses on memory.
  3. Final Answer:

    Memory usage and availability -> Option D
  4. Quick Check:

    free = Memory info [OK]
Hint: Remember: free = memory info, uptime = running time [OK]
Common Mistakes:
  • Confusing free with uptime output
  • Thinking free shows CPU or disk info
  • Mixing vmstat details with free
2. Which of the following is the correct syntax to display memory usage in megabytes using the free command?
easy
A. free -k
B. free -m
C. free -g
D. free --bytes

Solution

  1. Step 1: Identify the option for megabytes

    The -m option in free shows memory in megabytes.
  2. Step 2: Check other options

    --bytes shows bytes, -g shows gigabytes, -k shows kilobytes. So -m is correct for MB.
  3. Final Answer:

    free -m -> Option B
  4. Quick Check:

    free -m = megabytes [OK]
Hint: Use -m for MB, -k for KB, -g for GB in free [OK]
Common Mistakes:
  • Using -k expecting MB output
  • Confusing --bytes with -m
  • Using wrong option like -g for MB
3. What output will the command uptime produce on a system that has been running for 3 days, 4 hours, 12 minutes with load averages 0.15, 0.10, 0.05?
medium
A. 10:30:00 up 3 days, 4:12, 1 user, load average: 0.15, 0.10, 0.05
B. 3 days, 4 hours, 12 minutes uptime with load 0.15, 0.10, 0.05
C. uptime: 3d 4h 12m, load: 0.15 0.10 0.05
D. System up for 3 days 4 hours 12 minutes, load averages: 0.15 0.10 0.05

Solution

  1. Step 1: Understand uptime output format

    The uptime command shows current time, system uptime in days and hours:minutes, number of users, and load averages.
  2. Step 2: Match given data to output style

    The correct format includes current time, "up 3 days, 4:12", user count, and load averages separated by commas.
  3. Final Answer:

    10:30:00 up 3 days, 4:12, 1 user, load average: 0.15, 0.10, 0.05 -> Option A
  4. Quick Check:

    uptime shows time, up, users, load [OK]
Hint: Look for 'up' and load averages format in uptime output [OK]
Common Mistakes:
  • Expecting uptime to print in verbose sentences
  • Missing commas or user count in output
  • Confusing uptime with other commands
4. You run vmstat 1 3 but get an error saying "command not found". What is the most likely cause?
medium
A. vmstat is not installed on the system
B. The interval must be greater than 1 second
C. The command syntax is incorrect; count must be last
D. You need to run vmstat as root user

Solution

  1. Step 1: Verify vmstat syntax

    vmstat 1 3 uses correct syntax: 1-second delay, 3 samples.
  2. Step 2: Analyze the error

    "command not found" means vmstat (from procps package) is not installed.
  3. Final Answer:

    vmstat is not installed on the system -> Option A
  4. Quick Check:

    command not found = not installed [OK]
Hint: vmstat missing? Install procps package [OK]
Common Mistakes:
  • Assuming syntax error for missing command
  • Thinking root needed for vmstat
  • Believing interval too small
5. You want to monitor CPU and memory usage every 2 seconds for 5 samples using vmstat. Which command will correctly do this and what will be the total monitoring time?
hard
A. vmstat 2 5; total time 10 seconds
B. vmstat 5 2; total time 10 seconds
C. vmstat 2 5; total time 8 seconds
D. vmstat 5 2; total time 8 seconds

Solution

  1. Step 1: Understand vmstat interval and count

    vmstat 2 5 runs vmstat every 2 seconds, 5 times total.
  2. Step 2: Calculate total monitoring time

    vmstat prints the first line immediately, then 4 intervals of 2 seconds each, so total time = 2 * (5 - 1) = 8 seconds.
  3. Final Answer:

    vmstat 2 5; total time 8 seconds -> Option C
  4. Quick Check:

    Total time = interval * (count - 1) [OK]
Hint: Total time = interval x (count - 1) for vmstat [OK]
Common Mistakes:
  • Multiplying interval by count instead of count-1
  • Swapping interval and count values
  • Assuming total time equals interval x count
Recommended

Ready to prove it?

Pass the test and this pattern moves unknown strong while earning +1 Grip toward your certificate.

10 questions~5 mineasy hard