diff --git a/packages/xo-web/src/common/intl/messages.js b/packages/xo-web/src/common/intl/messages.js
index 9bd94bef2..b9716b622 100644
--- a/packages/xo-web/src/common/intl/messages.js
+++ b/packages/xo-web/src/common/intl/messages.js
@@ -538,7 +538,7 @@ const messages = {
srNoVdis: 'No VDIs in this storage',
// ----- Pool general -----
poolTitleRamUsage: 'Pool RAM usage:',
- poolRamUsage: '{used} used on {total}',
+ poolRamUsage: '{used} used on {total} ({free} free)',
poolMaster: 'Master:',
displayAllHosts: 'Display all hosts of this pool',
displayAllStorages: 'Display all storages of this pool',
@@ -609,7 +609,9 @@ const messages = {
// ----- host stat tab -----
statLoad: 'Load average',
// ----- host advanced tab -----
- memoryHostState: 'RAM Usage: {memoryUsed}',
+ hostTitleRamUsage: 'Host RAM usage:',
+ memoryHostState:
+ 'RAM: {memoryUsed} used on {memoryTotal} ({memoryFree} free)',
hardwareHostSettingsLabel: 'Hardware',
hostAddress: 'Address',
hostStatus: 'Status',
diff --git a/packages/xo-web/src/xo-app/host/tab-general.js b/packages/xo-web/src/xo-app/host/tab-general.js
index 0eea7cbd3..25848361b 100644
--- a/packages/xo-web/src/xo-app/host/tab-general.js
+++ b/packages/xo-web/src/xo-app/host/tab-general.js
@@ -10,7 +10,7 @@ import { addTag, removeTag } from 'xo'
import { BlockLink } from 'link'
import { Container, Row, Col } from 'grid'
import { FormattedRelative } from 'react-intl'
-import { formatSize } from 'utils'
+import { formatSize, formatSizeShort } from 'utils'
import Usage, { UsageElement } from 'usage'
import { getObject } from 'selectors'
import {
@@ -113,9 +113,7 @@ export default ({
-
- {_('memoryHostState', { memoryUsed: formatSize(memoryUsed) })}
-
+ {_('hostTitleRamUsage')}
@@ -137,16 +135,31 @@ export default ({
- {pool &&
- host.id === pool.master && (
-
-
-
- {_('pillMaster')}
-
-
-
- )}
+
+
+
+ {_('memoryHostState', {
+ memoryUsed: formatSizeShort(memoryUsed),
+ memoryTotal: formatSizeShort(host.memory.size),
+ memoryFree: formatSizeShort(host.memory.size - host.memory.usage),
+ })}
+
+
+
+
+ {pool &&
+ host.id === pool.master && (
+
+
+
+
+ {_('pillMaster')}
+
+
+
+
+ )}
+
diff --git a/packages/xo-web/src/xo-app/pool/tab-general.js b/packages/xo-web/src/xo-app/pool/tab-general.js
index e17faabf7..39439850d 100644
--- a/packages/xo-web/src/xo-app/pool/tab-general.js
+++ b/packages/xo-web/src/xo-app/pool/tab-general.js
@@ -9,7 +9,7 @@ import { addTag, removeTag } from 'xo'
import Link, { BlockLink } from 'link'
import { Container, Row, Col } from 'grid'
import Usage, { UsageElement } from 'usage'
-import { formatSize } from 'utils'
+import { formatSize, formatSizeShort } from 'utils'
import Tooltip from 'tooltip'
export default ({ hosts, nVms, pool, srs }) => (
@@ -68,8 +68,11 @@ export default ({ hosts, nVms, pool, srs }) => (
{_('poolRamUsage', {
- used: formatSize(sumBy(hosts, 'memory.usage')),
- total: formatSize(sumBy(hosts, 'memory.size')),
+ used: formatSizeShort(sumBy(hosts, 'memory.usage')),
+ total: formatSizeShort(sumBy(hosts, 'memory.size')),
+ free: formatSizeShort(
+ sumBy(hosts, host => host.memory.size - host.memory.usage)
+ ),
})}