Доступное пространство не должно равняться размеру. То, что вы видите в случае /dev/shm, состоит в том, что система использует очень мало или нулевое пространство для этой файловой системы (Used = 0), поэтому в этом случае доступно = размер.
m не уверен, почему df не отображает 16G используемого пространства, но, вообще говоря, когда процесс запрашивает ядро для выделения пространства, запрос может быть предоставлен, но ядро может фактически выделить меньшее пространство и позже ( если требуется больше памяти). Расширьте его.