The Redis server is using a steady 2% CPU usage with no activity whatsoever.

Is this normal?

Server

redis_version:7.0.4 redis_git_sha1:00000000 redis_git_dirty:0 redis_build_id:49201c797415ecc4 redis_mode:standalone os:FreeBSD 13.1-RELEASE-p1 amd64 arch_bits:64 monotonic_clock:POSIX clock_gettime multiplexing_api:kqueue atomicvar_api:c11-builtin gcc_version:4.2.1 process_id:1497 process_supervised:no run_id:83684637d73e8d9e222d8a40b7ff259ca38ad93f tcp_port:6379 server_time_usec:1661112799233961 uptime_in_seconds:18503 uptime_in_days:0 hz:10 configured_hz:10 lru_clock:168415 executable:/usr/local/bin/redis-server config_file:/usr/local/etc/redis.conf io_threads_active:0

Clients

connected_clients:1 cluster_connections:0 maxclients:10000 client_recent_max_input_buffer:8 client_recent_max_output_buffer:0 blocked_clients:0 tracking_clients:0 clients_in_timeout_table:0

Memory

used_memory:1429024 used_memory_human:1.36M used_memory_rss:9740288 used_memory_rss_human:9.29M used_memory_peak:1429024 used_memory_peak_human:1.36M used_memory_peak_perc:100.54% used_memory_overhead:1405592 used_memory_startup:1403592 used_memory_dataset:23432 used_memory_dataset_perc:92.14% allocator_allocated:1406040 allocator_active:9708544 allocator_resident:9708544 total_system_memory:16847036416 total_system_memory_human:15.69G used_memory_lua:31744 used_memory_vm_eval:31744 used_memory_lua_human:31.00K used_memory_scripts_eval:0 number_of_cached_scripts:0 number_of_functions:0 number_of_libraries:0 used_memory_vm_functions:32768 used_memory_vm_total:64512 used_memory_vm_total_human:63.00K used_memory_functions:200 used_memory_scripts:200 used_memory_scripts_human:200B maxmemory:536870912 maxmemory_human:512.00M maxmemory_policy:volatile-lru allocator_frag_ratio:6.90 allocator_frag_bytes:8302504 allocator_rss_ratio:1.00 allocator_rss_bytes:0 rss_overhead_ratio:1.00 rss_overhead_bytes:31744 mem_fragmentation_ratio:6.93 mem_fragmentation_bytes:8334248 mem_not_counted_for_evict:0 mem_replication_backlog:0 mem_total_replication_buffers:0 mem_clients_slaves:0 mem_clients_normal:1800 mem_cluster_links:0 mem_aof_buffer:0 mem_allocator:libc active_defrag_running:0 lazyfree_pending_objects:0 lazyfreed_objects:0

Persistence

loading:0 async_loading:0 current_cow_peak:0 current_cow_size:0 current_cow_size_age:0 current_fork_perc:0.00 current_save_keys_processed:0 current_save_keys_total:0 rdb_changes_since_last_save:0 rdb_bgsave_in_progress:0 rdb_last_save_time:1661094296 rdb_last_bgsave_status:ok rdb_last_bgsave_time_sec:-1 rdb_current_bgsave_time_sec:-1 rdb_saves:0 rdb_last_cow_size:0 rdb_last_load_keys_expired:0 rdb_last_load_keys_loaded:0 aof_enabled:0 aof_rewrite_in_progress:0 aof_rewrite_scheduled:0 aof_last_rewrite_time_sec:-1 aof_current_rewrite_time_sec:-1 aof_last_bgrewrite_status:ok aof_rewrites:0 aof_rewrites_consecutive_failures:0 aof_last_write_status:ok aof_last_cow_size:0 module_fork_in_progress:0 module_fork_last_cow_size:0

Stats

total_connections_received:1 total_commands_processed:0 instantaneous_ops_per_sec:0 total_net_input_bytes:6 total_net_output_bytes:0 total_net_repl_input_bytes:0 total_net_repl_output_bytes:0 instantaneous_input_kbps:0.00 instantaneous_output_kbps:0.00 instantaneous_input_repl_kbps:0.00 instantaneous_output_repl_kbps:0.00 rejected_connections:0 sync_full:0 sync_partial_ok:0 sync_partial_err:0 expired_keys:0 expired_stale_perc:0.00 expired_time_cap_reached_count:0 expire_cycle_cpu_milliseconds:98 evicted_keys:0 evicted_clients:0 total_eviction_exceeded_time:0 current_eviction_exceeded_time:0 keyspace_hits:0 keyspace_misses:0 pubsub_channels:0 pubsub_patterns:0 pubsubshard_channels:0 latest_fork_usec:0 total_forks:0 migrate_cached_sockets:0 slave_expires_tracked_keys:0 active_defrag_hits:0 active_defrag_misses:0 active_defrag_key_hits:0 active_defrag_key_misses:0 total_active_defrag_time:0 current_active_defrag_time:0 tracking_total_keys:0 tracking_total_items:0 tracking_total_prefixes:0 unexpected_error_replies:0 total_error_replies:0 dump_payload_sanitizations:0 total_reads_processed:1 total_writes_processed:0 io_threaded_reads_processed:0 io_threaded_writes_processed:0 reply_buffer_shrinks:1 reply_buffer_expands:0

Replication

role:master connected_slaves:0 master_failover_state:no-failover master_replid:f2acbac0207fdf0d5357e66c58632bd9fe352b81 master_replid2:0000000000000000000000000000000000000000 master_repl_offset:0 second_repl_offset:-1 repl_backlog_active:0 repl_backlog_size:1048576 repl_backlog_first_byte_offset:0 repl_backlog_histlen:0

CPU

used_cpu_sys:1.627153 used_cpu_user:1.746413 used_cpu_sys_children:0.000000 used_cpu_user_children:0.000000 used_cpu_sys_main_thread:1.627070 used_cpu_user_main_thread:1.737812

Modules

Errorstats

Cluster

cluster_enabled:0

Keyspace

Comment From: judeng

Hi, from the output message , redis-server has only consumed a very small amount of CPU since it was started: cpu_avg = (used_cpu_sys+used_cpu_user)/uptime_in_seconds = 0.018%

Maybe you can describe the source of the 2% statistics in detail.

Comment From: qcybb

Maybe my question should have been is it normal for Redis to use any CPU when in idle?

It's constantly active in TOP when there is no activity whatsoever. Nothing is connected to it.

 PID USERNAME    THR PRI NICE   SIZE    RES STATE    C   TIME    WCPU COMMAND
1497 redis         4  20    0    34M  9576K kqread   6   0:09   0.02% redis-server
Connected clients : 1
Uptime : 13 hours 2 minutes 15 seconds
Memory used : 1.52MB
Keys : 0 (all databases)

Comment From: judeng

Maybe my question should have been is it normal for Redis to use any CPU when in idle?

Yes, redis has some time cron events even when idle. And in the result of your top command, wcpu is have only 0.02%

Comment From: oranagra

you can control that by changing the hz configuration, although from what i see above (0.2%) you have no reason to worry about it. it it was really 2%, i would have asked to try and find out what it's doing (using strate, or pstack).