![]() Now, let’s save the script as check_mem_usage.sh, make it executable with the chmod command, and then execute it: $ chmod +x memory_usage.shĪs we can see in this sample, our output shows the memory usage for each user, sorted alphabetically by username. Finally, the script prints the total memory usage for each user in a user-friendly format. Then, it loops through the sorted output and calculates the memory usage per user by adding up the memory usage of each process for that user. ![]() The script uses the ps command to list all processes and their memory usage and sorts the output by the user using the sort command. # Read the output of ps, sort it by user, and loop through itĭone < <(ps -no-headers -eo user,%mem| sort -k1) # Save the current user for the next iteration # Add the memory usage of the current process to the total memory usage Using the ps Commandįor user in $(users | tr ' ' '\n' | sort -u) doĮcho $user $(ps -U $user -no-headers -o rss,vsz \ From this example, we can conclude that user1 has two processes running with a total memory usage of 3.0% ( %MEM) of the system’s available memory. Here, the RES column shows the actual physical memory used by each process, which we can add up to obtain the total memory usage for the specified user. Then, its output will display the memory usage statistics for each process owned by the specified user: PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMANDġ234 user1 20 0 123456 65432 12345 S 0.0 1.2 0:00.01 process1ĥ678 user1 20 0 789012 98765 54321 S 0.0 1.8 0:00.03 process2įrom our output, we can see the memory usage statistics for each process owned by the specified user, including the Process ID ( PID), Username ( USER), Priority ( PR), Nice value ( NI), Virtual Memory Usage ( VIRT), Resident Memory Usage ( RES), Shared Memory Usage ( SHR), Process Status ( S), Percentage of CPU Usage ( %CPU), Percentage of Memory Usage ( %MEM), Total CPU time ( TIME+), and lastly, Process Command ( COMMAND). Also, RAM is volatile, which means that its contents are lost when the system is powered off. ![]() RAM is much slower than registers and cache memory but has a much larger capacity. The third level in the hierarchy is Random Access Memory (RAM), which is the main memory used by the system to store data and programs that are currently in use. The amount of cache memory varies depending on the CPU and can range from a few kilobytes to several megabytes. Like registers, cache memory is very fast but is also more expensive than other types of memory. However, they are also the most limited in terms of storage capacity and can only hold a small amount of data at a time.Ĭache memory is the next level in the hierarchy and is a small amount of memory located on the CPU that stores frequently used data to improve performance. Registers are built into the CPU itself and can be accessed almost instantly. In Linux, the memory hierarchy consists of four levels, each with different characteristics that affect the performance of the system.Īt the top of the hierarchy are registers, which are the fastest, smallest, and most expensive type of memory used by the CPU to store temporary data. The memory hierarchy is a way of organizing memory based on its speed and capacity.
0 Comments
Leave a Reply. |
AuthorWrite something about yourself. No need to be fancy, just an overview. ArchivesCategories |