> For clean Markdown of any page, append .md to the page URL.
> For a complete documentation index, see https://docs.nvidia.com/holoscan/sdk-user-guide/llms.txt.
> For AI client integration (Claude Code, Cursor, etc.), connect to the MCP server at https://docs.nvidia.com/holoscan/sdk-user-guide/_mcp/server.

# holoscan::SystemResourceManager

> SystemResourceManager class.

`SystemResourceManager` class.

This class is responsible for monitoring the system resources. It provides the information about the topology of the system and the system resources such as CPU, GPU, etc. This information is collected by the [AppWorker](appworker) and passed to the [AppDriver](appdriver) for scheduling in the distributed application.

```cpp showLineNumbers={false}
#include <holoscan/system_resource_manager.hpp>
```

---

## Constructors

### SystemResourceManager \[#systemresourcemanager]

```cpp showLineNumbers={false}
holoscan::SystemResourceManager::SystemResourceManager()
```

### Destructor \[#destructor]

### \~SystemResourceManager

```cpp showLineNumbers={false}
virtual holoscan::SystemResourceManager::~SystemResourceManager() = default
```

---

## Methods

### cpu\_monitor \[#cpumonitor]

```cpp showLineNumbers={false}
CPUResourceMonitor * holoscan::SystemResourceManager::cpu_monitor()
```

Get CPU resource monitor.

**Returns:** The pointer to the CPU resource monitor.

### gpu\_monitor \[#gpumonitor]

```cpp showLineNumbers={false}
GPUResourceMonitor * holoscan::SystemResourceManager::gpu_monitor()
```

Get GPU resource monitor.

**Returns:** The pointer to the GPU resource monitor.

---

## Member variables

| Name                    | Type                                    | Description                 |
| ----------------------- | --------------------------------------- | --------------------------- |
| `topology_`             | `std::shared_ptr< Topology >`           | The topology of the system. |
| `cpu_resource_monitor_` | `std::shared_ptr< CPUResourceMonitor >` | The CPU resource monitor.   |
| `gpu_resource_monitor_` | `std::shared_ptr< GPUResourceMonitor >` | The GPU resource monitor.   |