Snowflake

Snowflake Resource Monitors: Complete Cost Management Guide

2026-03-21
更新: 2026-03-27
NicheeLab Editorial Team

A Resource Monitor is Snowflake's cost-management feature that tracks the credits consumed by Virtual Warehouses and automatically fires notifications or suspends the warehouse when thresholds are hit. It guards against cost overruns caused by runaway queries or warehouses you forgot to stop.

This article walks through the CREATE RESOURCE MONITOR SQL syntax, how each threshold action (Notify / Suspend / Suspend Immediately) behaves, and how to assign monitors at the account vs. warehouse level. This is a frequent topic in the Performance Concepts domain of the SnowPro Core exam.

Resource Monitor Overview

Resource Monitors periodically check Virtual Warehouse credit usage and trigger actions (notifications or suspension) when configured thresholds are reached. They can be applied at the account level (sum of credits across all warehouses) or at the level of an individual warehouse.

The three main parameters of a Resource Monitor are:

  • CREDIT_QUOTA — Credit cap to monitor (e.g. 100 credits)
  • FREQUENCY — Quota reset interval (DAILY / WEEKLY / MONTHLY / YEARLY / NEVER)
  • TRIGGERS — Actions taken when thresholds are reached (NOTIFY / SUSPEND / SUSPEND_IMMEDIATELY)

CREATE RESOURCE MONITOR SQL

-- Create a basic Resource Monitor
CREATE OR REPLACE RESOURCE MONITOR monthly_cost_monitor
  WITH
    CREDIT_QUOTA = 500
    FREQUENCY = MONTHLY
    START_TIMESTAMP = IMMEDIATELY
  TRIGGERS
    ON 50 PERCENT DO NOTIFY
    ON 80 PERCENT DO NOTIFY
    ON 95 PERCENT DO SUSPEND
    ON 100 PERCENT DO SUSPEND_IMMEDIATELY;

In the example above, the monthly credit cap is 500. Notifications fire at 50% and 80%, Suspend (wait for running queries to finish) triggers at 95%, and Suspend Immediately (immediate suspension) triggers at 100%.

Threshold Action Comparison

ActionBehaviorRunning queriesUse case
NOTIFYNotification only (warehouse keeps running)UnaffectedEarly warning; set at 50-80% thresholds
SUSPENDSuspends the warehouse after running queries finishRun to completionProduction; set at 90-95% thresholds
SUSPEND_IMMEDIATELYCancels running queries immediately and suspends the warehouseCancelled immediately (terminate with error)Test environments or emergency stops; set at the 100% threshold

NOTIFY actions send alerts to account administrators (users with the ACCOUNTADMIN role) via Snowsight notification banners and email. To route notifications to custom destinations, use Alert Integrations.

Account-level vs. Warehouse-level Assignment

Account level

-- Apply at the account level (monitor total credits across all warehouses)
ALTER ACCOUNT SET RESOURCE_MONITOR = monthly_cost_monitor;

An account-level Resource Monitor tracks the total credits consumed by every Virtual Warehouse in the account. Use it to enforce an organization-wide cost cap.

Warehouse level

-- Apply to individual warehouses
ALTER WAREHOUSE etl_wh SET RESOURCE_MONITOR = etl_monitor;
ALTER WAREHOUSE analytics_wh SET RESOURCE_MONITOR = analytics_monitor;

-- Specify the Resource Monitor at warehouse creation time
CREATE WAREHOUSE dev_wh
  WAREHOUSE_SIZE = 'XSMALL'
  RESOURCE_MONITOR = dev_monitor
  AUTO_SUSPEND = 300
  AUTO_RESUME = TRUE;

At the warehouse level, monitoring is scoped to a single warehouse. The common pattern is to split warehouses by purpose (ETL, analytics, development) and assign each one its own credit cap.

Resource Monitor Scope

FeatureMonitored
Virtual WarehouseYes (credit consumption is tracked)
Cloud Services LayerNo (only the portion of daily usage above 10% of warehouse usage is billed; not monitored)
SnowpipeNo (serverless compute; not monitored)
Automatic ClusteringNo (serverless compute; not monitored)
Materialized ViewNo (automatic maintenance; not monitored)
Search OptimizationNo (serverless compute; not monitored)
StorageNo (storage costs are not monitored)

Resource Monitor Management Commands

-- List Resource Monitors
SHOW RESOURCE MONITORS;

-- Modify a Resource Monitor
ALTER RESOURCE MONITOR monthly_cost_monitor
  SET CREDIT_QUOTA = 800;

-- Drop a Resource Monitor
DROP RESOURCE MONITOR dev_monitor;

-- Unassign from a specific warehouse
ALTER WAREHOUSE etl_wh UNSET RESOURCE_MONITOR;

Operational Best Practices

  • Adopt a two-tier approach: an account-level cap for the whole environment plus per-warehouse caps for each workload
  • Configure NOTIFY at multiple stages (50% and 80%) to catch rising costs early
  • Use SUSPEND at 95% on production warehouses and SUSPEND_IMMEDIATELY at 80% on development warehouses
  • If you offer Reader Accounts, always attach a Resource Monitor to the warehouse serving them
  • Track serverless feature costs separately via the METERING_HISTORY view in ACCOUNT_USAGE

Sample Question

Resource Monitor

問題 1

Which statement correctly describes what happens when a SUSPEND action is configured in a Resource Monitor's TRIGGERS clause?

  1. Running queries are cancelled immediately when the threshold is reached and the warehouse is suspended
  2. Only a notification is sent; the warehouse keeps running
  3. Running queries are allowed to finish, and then the warehouse is suspended
  4. The warehouse size is automatically scaled down when the threshold is reached

正解: C

When SUSPEND fires, Snowflake stops accepting new queries and waits for currently running queries to finish before suspending the warehouse — those queries complete normally. Cancelling running queries on the spot is the behavior of SUSPEND_IMMEDIATELY (A is wrong). Notification-only is NOTIFY (B is wrong). Resource Monitors do not include automatic warehouse-size scaling (D is wrong).

Practice Resource Monitor questions

Check your SnowPro readiness with our bilingual question bank

Try free questions

Frequently Asked Questions

Can Resource Monitors track credits used by serverless features?

No. Resource Monitors only track credit consumption from Virtual Warehouses. Serverless compute credits — such as Snowpipe, Automatic Clustering, automatic maintenance for Materialized Views, and the Search Optimization Service — are out of scope. To monitor serverless costs, use views in the ACCOUNT_USAGE schema like METERING_HISTORY (Snowpipe), AUTOMATIC_CLUSTERING_HISTORY, and MATERIALIZED_VIEW_REFRESH_HISTORY. Exam questions frequently test what Resource Monitors do and do not cover.

Which role is required to create a Resource Monitor?

Creating a Resource Monitor requires the ACCOUNTADMIN role. SYSADMIN and custom roles cannot execute CREATE RESOURCE MONITOR. However, once ACCOUNTADMIN grants the MONITOR privilege to another role, that role can view Resource Monitor thresholds and notification status. Applying a Resource Monitor at the account level (ALTER ACCOUNT SET RESOURCE_MONITOR) also requires ACCOUNTADMIN. Applying it to an individual warehouse (ALTER WAREHOUSE SET RESOURCE_MONITOR) can be done by ACCOUNTADMIN or the warehouse owner.

What is the difference between Suspend and Suspend Immediately?

Suspend waits for running queries to finish before suspending the warehouse. When the threshold is hit, in-flight queries run to completion and the warehouse stops afterward. Suspend Immediately cancels running queries on the spot and suspends the warehouse, so those queries terminate with an error. The common pattern is to use Suspend (wait for queries) in production and reserve Suspend Immediately for test environments or situations where the risk of cost overrun is high.

Related Resource Monitor Articles

Virtual Warehouse: Complete Guide

Warehouse sizing, scaling, and cost optimization

All Snowflake Certifications

Overview, fees, and difficulty for every Snowflake certification

What are Reader Accounts?

Cost management and Resource Monitor setup for Reader Accounts

Check what you learned with practice questions

Practice with certification-focused question sets

Try free practice questions
Author

NicheeLab Editorial Team

NicheeLab editorial team focused on data engineering and cloud certification learning. Content is structured around practical study needs and official exam domains.


Related articles
Snowflake

Snowflake Certifications: All 11 Exams Explained (2026)

Every SnowPro certification — Associate, Core, Specialty, Ad...

Snowflake

Snowflake Exam Difficulty Ranking: All 11 Certs Compared (2026)

All 11 SnowPro exams ranked by difficulty with study-time es...

Snowflake

Snowflake Study Guide: Fastest Pass Route by Exam (2026)

How to pass SnowPro certifications efficiently — official ma...

Snowflake

SnowPro Core (COF-C03): Complete Exam Guide (2026)

Pass the SnowPro Core exam — six domains, scope, sample ques...

Snowflake

SnowPro Associate Platform (SOL-C01): Complete Guide (2026)

The entry-level SnowPro Associate exam — scope, weighting, s...

Browse all Snowflake articles (103)
© 2026 NicheeLab All rights reserved.