Linee guida sulla sicurezza di Oracle® Solaris 11

Uscire dalla vista stampa

Aggiornato: Settembre 2014
 
 

Come limitare le dimensioni del file system tmpfs

Per impostazione predefinita, le dimensioni del file system tmpfs non sono limitate. Pertanto le dimensioni del file system tmpfs possono aumentare fino a riempire la memoria di sistema disponibile e il dispositivo swap. Poiché la directory /tmp viene utilizzata da tutte le applicazioni e gli utenti, un'applicazione può occupare tutta la memoria di sistema disponibile. Similarmente, un utente non dotato di privilegi e intenzioni non lecite potrebbe causare un rallentamento del sistema creando file di grandi dimensioni nella directory /tmp. Per evitare un impatto sulle prestazioni, è possibile limitare le dimensioni di ogni mount tmpfs.

È possibile provare diversi valori per raggiungere le migliori prestazioni di sistema.

Prima di cominciare

Per modificare il file vfstab, è necessario diventare amministratore con autorizzazione solaris.admin.edit/etc/vfstab assegnata. Per eseguire il reboot del sistema, è necessario disporre del profilo dei diritti di manutenzione e riparazione. Il ruolo root dispone di tutti questi diritti. Per ulteriori informazioni, vedere Using Your Assigned Administrative Rights in Securing Users and Processes in Oracle Solaris 11.2 .

  1. Stabilire la quantità di memoria sul sistema.

    Nota -  Il sistema della serie SPARC T3 utilizzato per il seguente esempio è dotato di un'unità ssd per I/O più rapido e di otto dischi da 279,40 MB. Il sistema dispone di circa 500 GB di memoria.
    % prtconf | head
    System Configuration:  Oracle Corporation  sun4v
    Memory size: 523776 Megabytes
    System Peripherals (Software Nodes):
    
    ORCL,SPARC-T3-4
    scsi_vhci, instance #0
    disk, instance #4
    disk, instance #5
    disk, instance #6
    disk, instance #8
  2. Calcolare un limite di memoria per tmpfs.

    In base alle dimensioni della memoria di sistema, potrebbe essere necessario calcolare un limite di memoria corrispondente a circa il 20% per volumi di grandi dimensioni e circa il 30% per sistemi più piccoli.

    Quindi, per un sistema di dimensioni inferiori, utilizzare .30 come moltiplicatore,

    10240M x .30 ≈ 340M

    mentre per sistemi di dimensioni superiori, utilizzare .20 come moltiplicatore.

    523776M x .20 ≈ 10475M
  3. Modificare la voce swap nel file /etc/vfstab con il limite delle dimensioni.
    # pfedit /etc/vfstab
    #device     device       mount       FS      fsck    mount mount
    #to mount   to fsck      point       type    pass    at boot options
    #
    ...
    #swap       -            /tmp        tmpfs   -       yes     -
    swap        -            /tmp        tmpfs   -       yes     size=10400m
    /dev/zvol/dsk/rpool/swap   -      -  swap    -       no      - 
  4. Eseguire il reboot del sistema.
    # reboot
  5. Verificare che il limite per le dimensioni sia in vigore.
    % mount -v
    swap on /system/volatile type tmpfs
    read/write/setuid/devices/rstchown/xattr/dev=89c0006 on Tues Feb 4 14:07:27 2014
    swap on /tmp type tmpfs
    read/write/setuid/devices/rstchown/xattr/size=10400m/dev=89c0006 on Tues ...
  6. Monitorare l'utilizzo della memoria e regolarlo in base ai requisiti del sito.

    Il comando df può rivelarsi utile. Il comando swap fornisce le statistiche più utili.

    % df -h /tmp
    Filesystem Size Used Available Capacity Mounted on
    swap          7.  4G     44M    7.4G 1%       /tmp
    
    % swap -s
    total: 190248k bytes allocated + 30348k reserved = 220596k used,
    7743780k available 

    Per ulteriori informazioni, consultare le pagine man tmpfs(7FS), mount_tmpfs(1M), df(1M) e swap(1M).