Primefaces uses his own sprite for the icons:
primefaces-5.1.jar
META-INF/resources/primefaces-aristo/images/ui-icons_616161_256x240.png
You can't set the size of the icon image on this case because is an sprite.
You need your own sprite with your predefined icons and sizes.
Example:
CSS:
.si-icon-16x16 {
width: 16px;
height: 16px;
background-image: url('../images/sprites/sprite.png');
background-repeat: no-repeat;
display: block;
overflow: hidden;
text-indent: -99999px;
}
/*your icon position on the sprite*/
.si-icon-send {
background-position: -20px -328px;
}
JSF:
<p:commandLink id="send" styleClass="si-icon-16x16 si-icon-send"/>
Another solution is use a separated image for every commandLink and set the size what you want. The other solutions explains this.