diff --git a/USAGE.md b/USAGE.md index 9fa4e1677..2e3f189e2 100644 --- a/USAGE.md +++ b/USAGE.md @@ -44,15 +44,20 @@ You must provide the remote server's total memory when connecting to other serve --template Path to a template file --dumpdir Path to a directory where to dump information files --feature Run a specific feature (see FEATURES section) - =head1 OUTPUT OPTIONS + --dumpdir information_schema tables and sys views are dumped in CSV in this path + +# OUTPUT OPTIONS --silent Don't output anything on screen --verbose Print out all options (default: no verbose, dbstat, idxstat, sysstat, tbstat, pfstat) + --color Print output in color --nocolor Don't print output in color --nogood Remove OK responses --nobad Remove negative/suggestion responses --noinfo Remove informational responses --debug Print debug information + --experimental Print experimental analysis (may failed) + --nondedicated Consider server is not dedicated to Db server usage only --noprocess Consider no other process is running --dbstat Print database information --nodbstat Don't print database information diff --git a/mysqltuner.pl b/mysqltuner.pl index 702e19f6e..58dfcd32e 100755 --- a/mysqltuner.pl +++ b/mysqltuner.pl @@ -110,6 +110,7 @@ package main; "reportfile" => 0, "verbose" => 0, "experimental" => 0, + "nondedicated" => 0, "defaults-file" => '', "defaults-extra-file" => '', "protocol" => '', @@ -152,7 +153,8 @@ package main; 'server-log=s', 'protocol=s', 'defaults-extra-file=s', 'dumpdir=s', 'feature=s', 'dbgpattern=s', - 'defaultarch=i', 'experimental' + 'defaultarch=i', 'experimental', + 'nondedicated' ) or pod2usage( -exitval => 1, @@ -593,6 +595,7 @@ sub os_setup { chomp($physical_memory); chomp($swap_memory); chomp($os); + $physical_memory=$opt{forcemem} if (defined($opt{forcemem}) and $opt{forcemem} gt 0); $result{'OS'}{'OS Type'} = $os; $result{'OS'}{'Physical Memory'}{'bytes'} = $physical_memory; $result{'OS'}{'Physical Memory'}{'pretty'} = hr_bytes($physical_memory); @@ -2052,6 +2055,15 @@ sub system_recommendations { infoprint "User process except mysqld used " . hr_bytes_rnd($omem) . " RAM."; if ( ( 0.15 * $physical_memory ) < $omem ) { + if ( $opt{nondedicated}) { + infoprint "No warning with --nondedicated option"; + infoprint +"Other user process except mysqld used more than 15% of total physical memory " + . percentage( $omem, $physical_memory ) . "% (" + . hr_bytes_rnd($omem) . " / " + . hr_bytes_rnd($physical_memory) . ")"; + } else { + badprint "Other user process except mysqld used more than 15% of total physical memory " . percentage( $omem, $physical_memory ) . "% (" @@ -2063,6 +2075,7 @@ sub system_recommendations { push( @adjvars, "DON'T APPLY SETTINGS BECAUSE THERE ARE TOO MANY PROCESSES RUNNING ON THIS SERVER. OOM KILL CAN OCCUR!" ); + } } else { infoprint @@ -3366,17 +3379,22 @@ sub mysql_stats { . " ($mycalc{'pct_max_physical_memory'}% of installed RAM)"; } + if ( $physical_memory < - ( $mycalc{'max_peak_memory'} + get_other_process_memory() ) ) + ( $mycalc{'max_peak_memory'} + get_other_process_memory() ) ) { + if ( $opt{nondedicated}) { + infoprint "No warning with --nondedicated option"; + infoprint "Overall possible memory usage with other process exceeded memory"; + } else { badprint - "Overall possible memory usage with other process exceeded memory"; + "Overall possible memory usage with other process exceeded memory"; push( @generalrec, - "Dedicate this server to your database for highest performance." ); - } - else { - goodprint -"Overall possible memory usage with other process is compatible with memory available"; + "Dedicate this server to your database for highest performance." ); + } + } else { + goodprint + "Overall possible memory usage with other process is compatible with memory available"; } # Slow queries @@ -7458,6 +7476,8 @@ =head1 PERFORMANCE AND REPORTING OPTIONS --template Path to a template file --dumpdir Path to a directory where to dump information files --feature Run a specific feature (see FEATURES section) + --dumpdir information_schema tables and sys views are dumped in CSV in this path + =head1 OUTPUT OPTIONS --silent Don't output anything on screen @@ -7468,6 +7488,8 @@ =head1 OUTPUT OPTIONS --nobad Remove negative/suggestion responses --noinfo Remove informational responses --debug Print debug information + --experimental Print experimental analysis (may failed) + --nondedicated Consider server is not dedicated to Db server usage only --noprocess Consider no other process is running --dbstat Print database information --nodbstat Don't print database information