Unique set size

Last updated

In computing, unique set size (USS) is the portion of main memory (RAM) occupied by a process which is guaranteed to be private to that process. The unshared memory of a process is reported as USS. [1]

This concept is used for software running under the Linux operating system. [2] It was proposed by Matt Mackall because of the complications that arose when trying to count the "real memory" used by a process. [3] The concepts of resident set size or virtual memory size (VmSize) weren't helping developers who tried to know how much memory their programs were using. [4]

Linux Family of free and open-source software operating systems based on the Linux kernel

Linux is a family of open source Unix-like operating systems based on the Linux kernel, an operating system kernel first released on September 17, 1991 by Linus Torvalds. Linux is typically packaged in a Linux distribution.

In computing, resident set size (RSS) is the portion of memory occupied by a process that is held in main memory (RAM). The rest of the occupied memory exists in the swap space or file system, either because some parts of the occupied memory were paged out, or because some parts of the executable were never loaded.

Virtual memory Operating System level memory management technique

In computing, virtual memory is a memory management technique that provides an "idealized abstraction of the storage resources that are actually available on a given machine" which "creates the illusion to users of a very large (main) memory."

See also

Related Research Articles

Electrical engineering field of engineering that deals with electricity

Electrical engineering is a technical discipline concerned with the study, design and application of equipment, devices and systems which use electricity, electronics, and electromagnetism. It emerged as an identified activity in the latter half of the 19th century after commercialization of the electric telegraph, the telephone, and electrical power generation, distribution and use.

Electronics physics, engineering, technology and applications that deal with the emission, flow and control of electrons in vacuum and matter

Electronics comprises the physics, engineering, technology and applications that deal with the emission, flow and control of electrons in vacuum and matter. The identification of the electron in 1897, along with the invention of the vacuum tube, which could amplify and rectify small electrical signals, inaugurated the field of electronics and the electron age.

Fred Brooks American computer scientist (born 1931)

Frederick Phillips "Fred" Brooks Jr. is an American computer architect, software engineer, and computer scientist, best known for managing the development of IBM's System/360 family of computers and the OS/360 software support package, then later writing candidly about the process in his seminal book The Mythical Man-Month. Brooks has received many awards, including the National Medal of Technology in 1985 and the Turing Award in 1999.

Embedded system computer system with a dedicated function within a larger mechanical or electrical system

An embedded system is a controller programmed and controlled by a real-time operating system (RTOS) with a dedicated function within a larger mechanical or electrical system, often with real-time computing constraints. It is embedded as part of a complete device often including hardware and mechanical parts. Embedded systems control many devices in common use today. Ninety-eight percent of all microprocessors manufactured are used in embedded systems.

System on a chip type of integrated circuit

A system on a chip or system on chip is an integrated circuit that integrates all components of a computer or other electronic system. These components typically include a central processing unit (CPU), memory, input/output ports and secondary storage – all on a single substrate or microchip, the size of a coin. It may contain digital, analog, mixed-signal, and often radio frequency signal processing functions, depending on the application. As they are integrated on a single substrate, SoCs consume much less power and take up much less area than multi-chip designs with equivalent functionality. Because of this, SoCs are very common in the mobile computing and edge computing markets. Systems on chip are commonly used in embedded systems and the Internet of Things.

Checkpointing is a technique to add fault tolerance into computing systems. It basically consists of saving a snapshot of the application's state, so that it can restart from that point in case of failure. This is particularly important for long running applications that are executed in failure-prone computing systems.

Embedded software is computer software, written to control machines or devices that are not typically thought of as computers, commonly known as embedded systems. It is typically specialized for the particular hardware that it runs on and has time and memory constraints. This term is sometimes used interchangeably with firmware.

In computer science, the term automatic programming identifies a type of computer programming in which some mechanism generates a computer program to allow human programmers to write the code at a higher abstraction level.

IEEE Communications Society organization

The IEEE Communications Society (ComSoc) promotes the advancement of science, technology and applications in communications and related disciplines. It fosters presentation and exchange of information among its members and the technical community throughout the world. The Society maintains a high standard of professionalism and technical competency. The IEEE Communications Society is a professional society of the IEEE.

In computing, network virtualization or network virtualisation is the process of combining hardware and software network resources and network functionality into a single, software-based administrative entity, a virtual network. Network virtualization involves platform virtualization, often combined with resource virtualization.

The Web of Things (WoT) is software architectural styles and programming patterns that allow real-world objects to be part of the World Wide Web. Similarly to what the Web is to the Internet, the Web of Things provides an Application Layer that simplifies the creation of Internet of Things applications.

The IEEE Intelligent Transportation Systems Society (ITSS) is a professional society of the IEEE.

Cyber foraging is a pervasive computing technique where resource-poor mobile devices offload some of their heavy work to stronger surrogate machines in the vicinity. The term cyber foraging was coined by M. Satyanarayanan in his 2001 paper "Pervasive Computing: Vision and Challenges".

Mobile security, or more specifically mobile device security, has become increasingly important in mobile computing. Of particular concern is the security of personal and business information now stored on smartphones.

Ch is a proprietary cross-platform C and C++ interpreter and scripting language environment, originally designed by Harry H. Cheng as a scripting language for beginners to learn mathematics, computing, numerical analysis, and programming in C/C++. Ch is now developed and marketed by SoftIntegration, Inc. A student edition is freely available. Ch Professional Edition for Raspberry Pi is free for non-commercial use.

In computing, proportional set size (PSS) is the portion of main memory (RAM) occupied by a process and is composed by the private memory of that process plus the proportion of shared memory with one or more other processes. Unshared memory including the proportion of shared memory is reported as the PSS.

Nader Bagherzadeh

Nader Bagherzadeh is a professor of Computer Engineering in the Department of Electrical Engineering and Computer Science at the University of California, Irvine, where he served as a chair from 1998 to 2003. Bagherzadeh has been involved in research and development in the areas of: Computer Architecture, Reconfigurable Computing, VLSI Chip Design, Network-on-Chip, 3D chips, Sensor Networks, Computer Graphics, Memory and Embedded Systems. Bagherzadeh was named Fellow of the Institute of Electrical and Electronics Engineers (IEEE) in 2014 for contributions to the design and analysis of coarse-grained reconfigurable processor architectures. Bagherzadeh has published more than 300 articles in peer-reviewed journals and conferences. He was with AT&T Bell Labs from 1980 to 1984.

Bare Machine Computing (BMC) is a programming paradigm based on bare machines. In the BMC paradigm, applications run without the support of any operating system (OS) or centralized kernel i.e., no intermediary software is loaded on the bare machine prior to running applications. The applications, which are called bare machine applications or simply BMC applications, do not use any persistent storage or a hard disk, and instead are stored on detachable mass storage such as a USB flash drive. A BMC program consists of a single application or a small set of applications that runs as a single executable within one address space. BMC applications have direct access to the necessary hardware resources. They are self-contained, self-managed and self-controlled entities that boot, load and run without using any other software components or external software. BMC applications have inherent security due to their design. There are no OS-related vulnerabilities, and each application only contains the necessary (minimal) functionality. There is no privileged mode in a BMC system since applications only run in user mode. Also, application code is statically compiled-there is no means to dynamically alter BMC program flow during execution.


  1. Dalmasso, Isabelle; Datta, Soumya Kanti; Bonnet, Christian; Nikaein, Navid (July 2013), "Survey, comparison and evaluation of cross platform mobile application development tools", 2013 9th International Wireless Communications and Mobile Computing Conference (IWCMC), Institute of Electrical & Electronics Engineers (IEEE), pp. 323–328, doi:10.1109/iwcmc.2013.6583580 ..
  2. Tsiligkos, Kleomenis; Meliones, Apostolos (August 2014), "Formulating Optimized Storage and Memory Space Specifications for Linux Network Embedded Systems", 2014 IEEE International Conference on High Performance Computing and Communications, 6th International Symposium on Cyberspace Safety and Security, and 11th International Conference on Embedded Software and Syst (HPCC, CSS, ICESS), Institute of Electrical & Electronics Engineers (IEEE), pp. 580–584, doi:10.1109/hpcc.2014.99 .
  3. Mackall, Matt (2009), "smem: understanding memory usage" (PDF), Embedded Linux Conference.
  4. corbet (April 18, 2007), ELC: How much memory are applications really using?, LWN.net , retrieved 2016-03-17.