Provavelmente, ele extrai aleatoriedade de / dev / random , (parece), que WILL bloqueia até que a entropia suficiente seja acumulada para fornecer aleatoriedade. A entropia é obtida a partir do uso do teclado, mouse, usb, atividade do disco rígido, sabe ... coisas aleatórias .
/ dev / urandom não bloqueia, mas não pode fornecer o nível de aleatoriedade fornecido por / dev / random. Eu sei, parece estranho, evidentemente alguém requer uma aleatoriedade extremamente aleatória, enquanto eu sempre fiquei satisfeito com a simples aleatoriedade aleatória.
uuidgen usa / dev / random para os uuid -r (aleatórios), e o clock do sistema (e o MAC ethernet) para os uuids -t (time). Se o relógio utilizado não for granular o suficiente, o uuidgen poderá ser bloqueado até que um certo tempo mínimo tenha passado para garantir a exclusividade. (especulação educada da minha parte, sem fatos, desculpas).Estou usando a mesma biblioteca libuuid1, v2.20-1 no meu sistema, e executando um loop contínuo mostra meu sistema gerando uuids aleatórios (modo -r) a 0,002s (2ms) cada e uuids baseados em tempo a 0,004s (4ms) cada, média. Seu sistema está fazendo muitas ( muitas! ) outras coisas atualmente? (Aqueles tempos em uma máquina de 2 GHz levemente carregada.)
Também testado em meus dois Raspberry Pi's, eles têm uma média de 10ms (0,010s) para o tempo ou para uuid's aleatórios ... parece que seu sistema está bem ocupado. (Ou você está rodando linux em um Atari 2600 ...)