The queryable way to track Snowflake warehouse memory consumption over time.
Query the SNOWFLAKE.ACCOUNT_USAGE.WAREHOUSE_LOAD_HISTORY view. It returns 5-minute snapshots of average and peak memory percentages for every warehouse.
Filter by WAREHOUSE_NAME and time window.Select AVG_MEMORY_PERCENT and PEAK_MEMORY_PERCENT to see load.
SELECT start_time,
avg_running,
avg_queued_load,
avg_memory_percent,
peak_memory_percent
FROM SNOWFLAKE.ACCOUNT_USAGE.WAREHOUSE_LOAD_HISTORY
WHERE warehouse_name = 'ECOM_WH'
AND start_time >= DATEADD(day,-7,CURRENT_TIMESTAMP());
Join WAREHOUSE_LOAD_HISTORY with QUERY_HISTORY on WAREHOUSE_ID to attribute memory peaks to specific queries or users.
Create a task that writes daily aggregates to an internal table, then visualize trends in Galaxy or any BI tool.
• Scale warehouse size instead of auto-suspending often.
• Cluster large, frequently scanned tables like Orders.
• Use result caching for repeat analytics.
• Monitor long-running, spool-heavy joins.
.
No. The view shows percentage of Snowflake’s virtual warehouse allocation, not actual GBs.
Yes. Create a task that writes peaks to a table, then use Snowflake Alerts (preview) or an external service to notify on threshold breaches.
No. Snapshots exist only when the warehouse is running.