What status var shows "99.7%"?
If much of that nearly half-terabyte of data & indexes is often active, you may need much more RAM.
MySQL versions? Are there slowdowns? Is there much swapping?
Please post the results of running these queries in the mysql client program ...
show variables;
show global status;
show engine innodb status\G
if mysql 5.7 or later ...
select * from sys.memory_global_total;
select
substring_index(event_name,'/',2) as code_area,
sys.format_bytes( sum(current_alloc) ) as current_alloc
from sys.x$memory_global_by_current_bytes
group by substring_index(event_name,'/',2)
order by sum(current_alloc) desc;
select
concat(format(a.num * 100.0 / b.num,2),"%") bufferpoolfullpct
from
(select variable_value num from performance_schema.global_status
where variable_name = 'innodb_buffer_pool_pages_data') a,
(select variable_value num from performance_schema.global_status
where variable_name = 'innodb_buffer_pool_pages_total') b;
... and look for runaway mem use in the results of ...
select *
from performance_schema.memory_summary_global_by_event_name
where event_name like 'memory/performance_schema/%';
Also please post the result of ...
free -m