I don't know the innards of the Arduino servo lib code but I assume it begins functioning immediately after calling attach
. What this means is that it is sending Pulse Width Modulation commands (see explanation at Servo City to the servo continuously - it is not simply on, move to position, then off, but rather the servo is being told constantly to maintain the set position.
You may have a cheap servo and hence the squeaking. I have some cheap ones I picked up which overshoot and then correct their position. The better (and more expensive) servos have much tighter gears and better electronics.