What is cache_menu in Drupal 7 DB? Safe to empty?
What exactly is doing this cache_menu table in MySQL Database of my Drupal 7?


Not to sound too glib, but it does exactly what it says - it stores cache for the menu system.


  Is it necessaru so huge?!


It's as big as it needs to be - if you have a lot of menu structure, it will be large. But 300mb isn't exactly a lot of data in this day and age.


  If it is just a Cache - would it be safe to empty / disable somehow?


Depends how you define "safe". Yes, your site will still work, but rebuilding the menus from scratch on every page load is likely to make your page requests take quite a bit longer.

You can safely truncate that cache bin and let it rebuild; maybe there is stale data in there that won't be re-added when the menus are built up again.