[mythtv-users] What to do with lots of RAM?

Jerome Yuzyk jerome at supernet.ab.ca
Sun Aug 16 18:50:12 UTC 2015


My "new" 0.27.4 FE/BE has 4G of RAM, only 1M of which seems to be used, leaving me to wonder what I can do with the rest of it to speed up MythTV as much as possible. Other than running rsyncd to be a backup for my other machines, the box is only going to run MythTV and maybe a browser for Internet content. 


MySQL tuning is an obvious candidate, and I've already added some MySQL settings from
https://www.mythtv.org/wiki/Installing_MythTV_on_Fedora#MariaDB_performance

	key_buffer = 16M
	table_cache = 128
	sort_buffer_size = 2M
	myisam_sort_buffer_size = 8M
	query_cache_size = 16M

But...

https://www.mythtv.org/wiki/Optimizing_Performance#MySQL_Database_Tweaks
suggests others from an 11-year-old list message:

	key_buffer = 48M
	max_allowed_packet = 8M
	table_cache = 128 # this setting is deprecated in mysql 5.6.23
	                  # and will prevent mysql from starting
	sort_buffer_size = 48M
	net_buffer_length = 1M
	thread_cache_size = 4
	query_cache_type = 1
	query_cache_size = 4M

But...
https://www.mythtv.org/wiki/Tune_MySQL recommends a much longer list:

	[mysqld]
	# Customized config for MythTV baseline

	bind-address=0.0.0.0
	skip-external-locking
	key_buffer_size		= 64M
	tmp_table_size		= 32M	
	table_cache            	= 256
	query_cache_limit	= 3M
	query_cache_size        = 32M	


	# Set Base Innodb Specific settings here		   
	innodb_flush_method		= O_DIRECT		   
	innodb_file_per_table		= 1			   
	innodb_file_format		= barracuda		   
	innodb_max_dirty_pages_pct 	= 90			   
	innodb_lock_wait_timeout 	= 20			      
	innodb_flush_log_at_trx_commit 	= 2			      
	innodb_additional_mem_pool_size = 16M			      
	innodb_buffer_pool_size 	= 128M			      
	innodb_thread_concurrency 	= 8	

	# Logging Options
	log-queries-not-using-indexes
	log_error
	long_query_time 	= 5
	log_slow_queries	= /var/log/mysql/mysql-slow.log
	general_log_file        = /var/log/mysql/mysql.log
	general_log             = 1			
	log_error               = /var/log/mysql/error.log
	binlog_do_db		= include_database_name


So of all the above, what can I use and leverage with spare RAM? Seems like innodb is mostly (all?) out of MythTV so I can ignore those lines. I could arbitrarily boost some numbers because "it can't hurt to have more" but I'd rather do that in an informed way.


Other than SQL tuning, what else would benefit from 1 or 2G extra RAM?

  = More/Larger buffers?
  = Other caching?
  = Some use for a big tmpfs (RAMdisk)?
  = Some nifty extra feature?



-- 
A little of Jerome's MythTV World: http://mythtv.bss.ab.ca


More information about the mythtv-users mailing list