• Daniel Black's avatar
    MDEV-25513: raise systemd LimitNOFILE limits to match server defaults · a35cde8c
    Daniel Black authored
    Quoting MDEV reporter Daniel Lewart:
    
    Starting MariaDB with default configuration causes the following problems:
    
        "[Warning] Could not increase number of max_open_files to more than 16384 (request: 32186)"
        silently reduces table_open_cache_instances from 8 (default) to 4
    
    Default Server System Variables:
    
        extra_max_connections = 1
        max_connections = 151
        table_open_cache = 2000
        table_open_cache_instances = 8
        thread_pool_size = 4
    
    LimitNOFILE=16834 is in the following files:
    
        support-files/mariadb.service.in
        support-files/mariadb@.service.in
    
    Looking at sql/mysqld.cc lines 3837-3917:
    wanted_files= (extra_files + max_connections + extra_max_connections +
    tc_size * 2 * tc_instances);
    wanted_files+= threadpool_size;
    
    Plugging in the default values:
    wanted_files = (30 + 151 + 1 + 2000 * 2 * 8 + 4) = 32186
    
    However, systemd configuration has LimitNOFILE = 16384, which is far smaller.
    
    I suggest increasing LimitNOFILE to 32768.
    a35cde8c
mariadb.service.in 5.44 KB