I have a 2004 Silverado 5.3L and when I start the truck the engine knocks very loud. It is worse when it is cold out (30 Degrees or less). It normally goes away after a few miles or so but if I let it idle then it will last for 10 minutes or more. Also noticed that when I filled the coolent on a thursday up to the cold line I checked it again on saturday and it was about 2 inches below the cold line. No leaks on the ground and did not observe any milky substance in the oil. Dealer advised normal. I say hell no. And neither does my personal mechanic.
Could be carbon buildup on the piston tops and skirts. Remove spark plugs, disconnect ignition coils, using a funnel with a small tube; pour 1/4 can of GM Top Engine Cleaner into each cylinder.(This will require 2 full cans)(they cost around 10 bucks each at your dealer)allow this to sit in the cylinders at least 12 hours. Crank the engine to expell the cleaner, immediately rinse the engine cleaner from the engine compartment or any painted surfaces with cold water. Install the spark plugs, change the oil and filter, then start the engine.(It will be hard to start and will smoke like hell for a little while)As for the coolant loss, have the cooling system pressure tested for leaks.